﻿#include <stdio.h>
#include <Windows.h>
#include <stdbool.h>
//超级万年历
/*主函数
1.主页面，菜单栏，当前时间，字体颜色：输出，GetCurTime(),SetConsoleTextAttribute()
Switch case
2.cese1:输入公历，查询农历，打印月历、天干地支、节气、本月节气日期
3.case2:输入农历，查询公历，显示公历日期GetGre()
4.case3:显示月历，输入年、月，打印月历
5.case4:查询某天距今天的天数：计算
6.case5:查询距今天相应天数的日期：计算前、后
7.case6:显示二十四节气：输入查询年份，输出一年的节气日期
8.cese7:显示节日，1公历，输入月份，输出当月节日日期，
2农历，输出一年的节日日期
*/
//使用宏定义，方便程序的修改
#define BASE_YEAR 1840//基准年1840年，后续也可修改
#define BASE_MONTH 1
#define BASE_DAY 25
#define BASE_WEEKDAY_INDEX 5//星期六 
#define BASE_LUNAR_YEAR 1840
#define BASE_LUNAR_MONTH 1
#define BASE_LUNAR_DAY 1
#define BASE_TIANGAN_INDEX 6 //庚
#define BASE_DIZHI_INDEX 0 //子
#define END_YEAR 2100//结束年2100年，后续也可修改
//全局变量
typedef struct Time//时间结构体
{
	int year;//年
	int month;//月
	int day;//日
	int dayOfweek;//星期几
	int hour;//时
	int minute;//分
	int second;//秒
	int millisecond;//毫秒
}time, * ptime;//定义时间结构体指针
typedef struct Lunar//农历结构体
{
	int year;//年
	int month;//月
	int day;//日
	bool isLeap;//是否是闰月
	unsigned int DaysofMonth;//天数，肯定是正的，所以用unsigned int
}lunar, * plunar;//定义农历结构体指针
const int MonthCodeTable[]{//月序码表，从1840年开始，到2100年结束。很多万年历、农历算法的实现和资料中，月序码都是从0开始的，这是一种通用的做法，便于与其他算法或数据表兼容。
	//是一个用于农历（阴历）与公历（阳历）转换的辅助数组。它的每一行（14个数字）对应一个年份（如1840年），每个数字代表该年农历每个月（包括闰月）的序号。
//农历每年有12或13个月（有闰月时13个月），而且闰月出现的时间和位置每年都不同。
//数字0~13分别代表正月到腊月及闰月。比如0,1,2,3,4,5,6,7,8,9,10,11,12,13表示该年有13个月，闰月在最后。
//如果某年有闰月，月序码表会在相应位置插入闰月的序号。例如0,1,2,3,4,4,5,6...表示闰四月，两个4分别代表四月和闰四月。
//月序码表是农历历法数据的“索引表”，它把每年农历月的顺序和闰月信息预先编码，便于程序高效、准确地进行历法转换和日期计算。
	
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1840
	0,1,2,3,4,4,5,6,7,8,9,10,11,12,//1841
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1842
	0,1,2,3,4,5,6,7,8,8,9,10,11,12,//1843
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1844
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1845
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//1846
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1847
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1848
	0,1,2,3,4,5,5,6,7,8,9,10,11,12,//1849
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1850
	0,1,2,3,4,5,6,7,8,9,9,10,11,12,//1851
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1852
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1853
	0,1,2,3,4,5,6,7,8,8,9,10,11,12,//1854
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1855
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1856
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//1857
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1858
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1859
	0,1,2,3,4,4,5,6,7,8,9,10,11,12,//1860
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1861
	0,1,2,3,4,5,6,7,8,9,9,10,11,12,//1862
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1863
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1864
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//1865
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1866
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1867
	0,1,2,3,4,5,5,6,7,8,9,10,11,12,//1868
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1869
	0,1,2,3,4,5,6,7,8,9,10,11,11,12,//1870
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1871
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1872
	0,1,2,3,4,5,6,7,7,8,9,10,11,12,//1873
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1874
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1875
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//1876
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1877
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1878
	0,1,2,3,4,4,5,6,7,8,9,10,11,12,//1879
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1880
	0,1,2,3,4,5,6,7,8,8,9,10,11,12,//1881
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1882
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1883
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//1884
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1885
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1886
	0,1,2,3,4,5,5,6,7,8,9,10,11,12,//1887
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1888
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1889
	0,1,1,2,3,4,5,6,7,8,9,10,11,12,//1890
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1891
	0,1,2,3,4,5,6,7,7,8,9,10,11,12,//1892
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1893
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1894
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//1895
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1896
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1897
	0,1,2,3,4,4,5,6,7,8,9,10,11,12,//1898
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1899
	0,1,2,3,4,5,6,7,8,9,9,10,11,12,//1900
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1901
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1902
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//1903
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1904
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1905
	0,1,2,3,4,5,5,6,7,8,9,10,11,12,//1906
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1907
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1908
	0,1,2,3,3,4,5,6,7,8,9,10,11,12,//1909
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1910
	0,1,2,3,4,5,6,7,7,8,9,10,11,12,//1911
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1912
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1913
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//1914
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1915
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1916
	0,1,2,3,3,4,5,6,7,8,9,10,11,12,//1917
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1918
	0,1,2,3,4,5,6,7,8,8,9,10,11,12,//1919
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1920
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1921
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//1922
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1923
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1924
	0,1,2,3,4,5,5,6,7,8,9,10,11,12,//1925
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1926
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1927
	0,1,2,3,3,4,5,6,7,8,9,10,11,12,//1928
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1929
	0,1,2,3,4,5,6,7,7,8,9,10,11,12,//1930
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1931
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1932
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//1933
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1934
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1935
	0,1,2,3,4,4,5,6,7,8,9,10,11,12,//1936
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1937
	0,1,2,3,4,5,6,7,8,8,9,10,11,12,//1938
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1939
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1940
	0,1,2,3,4,5,6,7,7,8,9,10,11,12,//1941
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1942
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1943
	0,1,2,3,4,5,5,6,7,8,9,10,11,12,//1944
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1945
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1946
	0,1,2,3,3,4,5,6,7,8,9,10,11,12,//1947
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1948
	0,1,2,3,4,5,6,7,8,8,9,10,11,12,//1949
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1950
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1951
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//1952
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1953
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1954
	0,1,2,3,4,4,5,6,7,8,9,10,11,12,//1955
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1956
	0,1,2,3,4,5,6,7,8,9,9,10,11,12,//1957
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1958
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1959
	0,1,2,3,4,5,6,7,7,8,9,10,11,12,//1960
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1961
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1962
	0,1,2,3,4,5,5,6,7,8,9,10,11,12,//1963
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1964
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1965
	0,1,2,3,4,4,5,6,7,8,9,10,11,12,//1966
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1967
	0,1,2,3,4,5,6,7,8,8,9,10,11,12,//1968
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1969
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1970
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//1971
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1972
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1973
	0,1,2,3,4,5,5,6,7,8,9,10,11,12,//1974
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1975
	0,1,2,3,4,5,6,7,8,9,9,10,11,12,//1976
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1977
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1978
	0,1,2,3,4,5,6,7,7,8,9,10,11,12,//1979
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1980
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1981
	0,1,2,3,4,5,5,6,7,8,9,10,11,12,//1982
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1983
	0,1,2,3,4,5,6,7,8,9,10,11,11,12,//1984
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1985
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1986
	0,1,2,3,4,5,6,7,7,8,9,10,11,12,//1987
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1988
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1989
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//1990
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1991
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1992
	0,1,2,3,4,4,5,6,7,8,9,10,11,12,//1993
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1994
	0,1,2,3,4,5,6,7,8,9,9,10,11,12,//1995
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1996
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1997
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//1998
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//1999
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2000
	0,1,2,3,4,5,5,6,7,8,9,10,11,12,//2001
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2002
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2003
	0,1,2,3,3,4,5,6,7,8,9,10,11,12,//2004
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2005
	0,1,2,3,4,5,6,7,8,8,9,10,11,12,//2006
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2007
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2008
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//2009
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2010
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2011
	0,1,2,3,4,5,5,6,7,8,9,10,11,12,//2012
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2013
	0,1,2,3,4,5,6,7,8,9,10,10,11,12,//2014
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2015
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2016
	0,1,2,3,4,5,6,7,7,8,9,10,11,12,//2017
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2018
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2019
	0,1,2,3,4,5,5,6,7,8,9,10,11,12,//2020
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2021
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2022
	0,1,2,3,3,4,5,6,7,8,9,10,11,12,//2023
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2024
	0,1,2,3,4,5,6,7,7,8,9,10,11,12,//2025
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2026
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2027
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//2028
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2029
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2030
	0,1,2,3,4,4,5,6,7,8,9,10,11,12,//2031
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2032
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2033
	0,0,1,2,3,4,5,6,7,8,9,10,11,12,//2034
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2035
	0,1,2,3,4,5,6,7,7,8,9,10,11,12,//2036
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2037
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2038
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//2039
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2040
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2041
	0,1,2,3,3,4,5,6,7,8,9,10,11,12,//2042
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2043
	0,1,2,3,4,5,6,7,8,8,9,10,11,12,//2044
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2045
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2046
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//2047
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2048
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2049
	0,1,2,3,4,4,5,6,7,8,9,10,11,12,//2050
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2051
	0,1,2,3,4,5,6,7,8,9,9,10,11,12,//2052
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2053
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2054
	0,1,2,3,4,5,6,7,7,8,9,10,11,12,//2055
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2056
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2057
	0,1,2,3,4,5,5,6,7,8,9,10,11,12,//2058
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2059
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2060
	0,1,2,3,4,4,5,6,7,8,9,10,11,12,//2061
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2062
	0,1,2,3,4,5,6,7,8,8,9,10,11,12,//2063
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2064
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2065
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//2066
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2067
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2068
	0,1,2,3,4,5,5,6,7,8,9,10,11,12,//2069
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2070
	0,1,2,3,4,5,6,7,8,9,9,10,11,12,//2071
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2072
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2073
	0,1,2,3,4,5,6,7,7,8,9,10,11,12,//2074
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2075
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2076
	0,1,2,3,4,5,5,6,7,8,9,10,11,12,//2077
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2078
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2079
	0,1,2,3,4,4,5,6,7,8,9,10,11,12,//2080
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2081
	0,1,2,3,4,5,6,7,8,8,9,10,11,12,//2082
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2083
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2084
	0,1,2,3,4,5,6,6,7,8,9,10,11,12,//2085
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2086
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2087
	0,1,2,3,4,5,5,6,7,8,9,10,11,12,//2088
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2089
	0,1,2,3,4,5,6,7,8,9,9,10,11,12,//2090
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2091
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2092
	0,1,2,3,4,5,6,7,7,8,9,10,11,12,//2093
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2094
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2095
	0,1,2,3,4,5,5,6,7,8,9,10,11,12,//2096
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2097
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2098
	0,1,2,3,3,4,5,6,7,8,9,10,11,12,//2099
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,//2100
};//配合其他表（如月首码表、节气码表），实现农历与公历的精确转换。
//避免每次都用复杂的天文算法判断闰月和月序，提高效率。
const int MonthPrefixCodeTable[] = {//月首码表
//是一个整型数组，每个元素代表从公元1840年1月1日起，到2000年正月初一的“累计天数”或“偏移量”。
//例如，[0] 表示1840年正月初一距离基准日的天数，[1] 表示1840年二月初一距离基准日的天数，依此类推。
	//•	农历转公历：已知农历年、月、日，可以通过查找月首码表，得到该农历月初一的公历日期，再加上农历日的偏移，得到对应的公历日期。
	-58465,-58435,-58406,-58376,-58347,-58317,-58288,-58259,-58229,-58200,-58170,-58141,-58111,-58081,-58051,//1840
	-58111,-58081,-58051,-58022,-57992,-57963,-57933,-57904,-57875,-57845,-57816,-57786,-57757,-57727,-57698,//1841
	-57727,-57698,-57668,-57638,-57608,-57579,-57549,-57520,-57491,-57461,-57432,-57402,-57373,-57343,-57314,//1842
	-57373,-57343,-57314,-57284,-57254,-57224,-57195,-57165,-57136,-57107,-57077,-57048,-57018,-56989,-56959,//1843
	-56989,-56959,-56930,-56900,-56870,-56841,-56811,-56782,-56752,-56723,-56693,-56664,-56634,-56605,-56575,//1844
	-56634,-56605,-56575,-56546,-56516,-56487,-56457,-56427,-56398,-56368,-56339,-56309,-56280,-56250,-56221,//1845
	-56280,-56250,-56221,-56191,-56162,-56132,-56103,-56073,-56044,-56014,-55985,-55955,-55925,-55896,-55866,//1846
	-55896,-55866,-55837,-55807,-55778,-55749,-55719,-55690,-55660,-55631,-55601,-55571,-55541,-55512,-55482,//1847
	-55541,-55512,-55482,-55453,-55423,-55394,-55365,-55335,-55306,-55276,-55247,-55217,-55187,-55157,-55128,//1848
	-55187,-55157,-55128,-55098,-55069,-55039,-55010,-54981,-54951,-54922,-54892,-54863,-54833,-54804,-54774,//1849
	-54804,-54774,-54744,-54714,-54685,-54655,-54626,-54597,-54567,-54538,-54509,-54479,-54449,-54420,-54390,//1850
	-54449,-54420,-54390,-54360,-54330,-54301,-54271,-54242,-54213,-54183,-54154,-54125,-54095,-54066,-54036,//1851
	-54066,-54036,-54006,-53976,-53947,-53917,-53887,-53858,-53829,-53799,-53770,-53740,-53711,-53682,-53652,//1852
	-53711,-53682,-53652,-53622,-53593,-53563,-53533,-53504,-53474,-53445,-53415,-53386,-53356,-53327,-53297,//1853
	-53356,-53327,-53297,-53268,-53238,-53209,-53179,-53150,-53120,-53090,-53061,-53031,-53002,-52972,-52943,//1854
	-52972,-52943,-52913,-52884,-52855,-52825,-52796,-52766,-52736,-52707,-52677,-52647,-52618,-52588,-52559,//1855
	-52618,-52588,-52559,-52529,-52500,-52471,-52441,-52412,-52382,-52353,-52323,-52293,-52263,-52234,-52204,//1856
	-52263,-52234,-52204,-52175,-52145,-52116,-52087,-52057,-52028,-51998,-51969,-51939,-51910,-51880,-51850,//1857
	-51880,-51850,-51820,-51791,-51761,-51732,-51703,-51673,-51644,-51615,-51585,-51555,-51526,-51496,-51466,//1858
	-51526,-51496,-51466,-51436,-51407,-51377,-51348,-51319,-51289,-51260,-51231,-51201,-51172,-51142,-51112,//1859
	-51172,-51142,-51112,-51082,-51053,-51023,-50993,-50964,-50935,-50905,-50876,-50847,-50817,-50788,-50758,//1860
	-50788,-50758,-50728,-50699,-50669,-50639,-50610,-50580,-50551,-50521,-50492,-50462,-50433,-50404,-50374,//1861
	-50433,-50404,-50374,-50344,-50315,-50285,-50256,-50226,-50196,-50167,-50137,-50108,-50078,-50049,-50020,//1862
	-50049,-50020,-49990,-49961,-49931,-49901,-49872,-49842,-49813,-49783,-49753,-49724,-49694,-49665,-49635,//1863
	-49694,-49665,-49635,-49606,-49577,-49547,-49518,-49488,-49459,-49429,-49399,-49370,-49340,-49310,-49281,//1864
	-49340,-49310,-49281,-49251,-49222,-49193,-49163,-49134,-49104,-49075,-49045,-49015,-48986,-48956,-48926,//1865
	-48956,-48926,-48897,-48867,-48838,-48809,-48779,-48750,-48721,-48691,-48661,-48632,-48602,-48572,-48542,//1866
	-48602,-48572,-48542,-48513,-48483,-48454,-48425,-48395,-48366,-48337,-48307,-48278,-48248,-48218,-48188,//1867
	-48248,-48218,-48188,-48159,-48129,-48099,-48070,-48041,-48011,-47982,-47953,-47923,-47894,-47864,-47834,//1868
	-47864,-47834,-47805,-47775,-47745,-47715,-47686,-47657,-47627,-47598,-47569,-47539,-47510,-47480,-47451,//1869
	-47510,-47480,-47451,-47421,-47391,-47361,-47332,-47302,-47273,-47243,-47214,-47185,-47155,-47126,-47096,//1870
	-47126,-47096,-47067,-47037,-47007,-46978,-46948,-46918,-46889,-46859,-46830,-46800,-46771,-46742,-46712,//1871
	-46771,-46742,-46712,-46683,-46653,-46624,-46594,-46564,-46535,-46505,-46476,-46446,-46416,-46387,-46357,//1872
	-46416,-46387,-46357,-46328,-46299,-46269,-46240,-46210,-46181,-46151,-46121,-46092,-46062,-46032,-46003,//1873
	-46032,-46003,-45973,-45944,-45915,-45885,-45856,-45826,-45797,-45767,-45738,-45708,-45678,-45648,-45619,//1874
	-45678,-45648,-45619,-45589,-45560,-45531,-45501,-45472,-45443,-45413,-45384,-45354,-45324,-45294,-45265,//1875
	-45324,-45294,-45265,-45235,-45205,-45176,-45147,-45117,-45088,-45059,-45029,-45000,-44970,-44940,-44911,//1876
	-44940,-44911,-44881,-44851,-44821,-44792,-44763,-44733,-44704,-44675,-44645,-44616,-44586,-44557,-44527,//1877
	-44586,-44557,-44527,-44497,-44467,-44438,-44408,-44379,-44349,-44320,-44291,-44261,-44232,-44202,-44173,//1878
	-44232,-44202,-44173,-44143,-44113,-44084,-44054,-44024,-43995,-43965,-43936,-43907,-43877,-43848,-43818,//1879
	-43848,-43818,-43789,-43759,-43730,-43700,-43670,-43641,-43611,-43581,-43552,-43522,-43493,-43464,-43434,//1880
	-43493,-43464,-43434,-43405,-43375,-43346,-43316,-43287,-43257,-43227,-43198,-43168,-43138,-43109,-43079,//1881
	-43109,-43079,-43050,-43021,-42991,-42962,-42932,-42903,-42873,-42844,-42814,-42784,-42755,-42725,-42695,//1882
	-42755,-42725,-42695,-42666,-42637,-42607,-42578,-42549,-42519,-42490,-42460,-42430,-42400,-42371,-42341,//1883
	-42400,-42371,-42341,-42311,-42282,-42253,-42223,-42194,-42165,-42135,-42106,-42076,-42046,-42017,-41987,//1884
	-42017,-41987,-41957,-41927,-41898,-41869,-41839,-41810,-41781,-41751,-41722,-41692,-41663,-41633,-41603,//1885
	-41663,-41633,-41603,-41573,-41544,-41514,-41485,-41455,-41426,-41397,-41367,-41338,-41308,-41279,-41249,//1886
	-41308,-41279,-41249,-41219,-41189,-41160,-41130,-41101,-41071,-41042,-41013,-40983,-40954,-40924,-40895,//1887
	-40924,-40895,-40865,-40835,-40806,-40776,-40746,-40717,-40687,-40658,-40629,-40599,-40570,-40540,-40511,//1888
	-40570,-40540,-40511,-40481,-40452,-40422,-40392,-40363,-40333,-40304,-40274,-40245,-40215,-40186,-40156,//1889
	-40215,-40186,-40156,-40127,-40097,-40068,-40038,-40009,-39979,-39949,-39920,-39890,-39861,-39831,-39802,//1890
	-39831,-39802,-39772,-39743,-39713,-39684,-39654,-39625,-39595,-39566,-39536,-39506,-39477,-39447,-39417,//1891
	-39477,-39447,-39417,-39388,-39359,-39329,-39300,-39271,-39241,-39212,-39182,-39152,-39123,-39093,-39063,//1892
	-39093,-39063,-39033,-39004,-38975,-38945,-38916,-38887,-38857,-38828,-38798,-38769,-38739,-38709,-38679,//1893
	-38739,-38709,-38679,-38650,-38620,-38591,-38561,-38532,-38503,-38473,-38444,-38414,-38385,-38355,-38325,//1894
	-38385,-38355,-38325,-38295,-38266,-38236,-38207,-38177,-38148,-38119,-38089,-38060,-38030,-38001,-37971,//1895
	-38001,-37971,-37942,-37912,-37882,-37852,-37823,-37793,-37764,-37735,-37705,-37676,-37646,-37617,-37587,//1896
	-37646,-37617,-37587,-37558,-37528,-37498,-37469,-37439,-37410,-37380,-37351,-37321,-37292,-37262,-37233,//1897
	-37292,-37262,-37233,-37203,-37174,-37144,-37115,-37085,-37055,-37026,-36996,-36967,-36937,-36908,-36878,//1898
	-36908,-36878,-36849,-36819,-36790,-36760,-36731,-36701,-36672,-36642,-36612,-36583,-36553,-36524,-36494,//1899
	-36553,-36524,-36494,-36465,-36435,-36406,-36377,-36347,-36318,-36288,-36258,-36229,-36199,-36169,-36140,//1900
	-36169,-36140,-36110,-36081,-36051,-36022,-35993,-35963,-35934,-35904,-35875,-35845,-35815,-35785,-35756,//1901
	-35815,-35785,-35756,-35726,-35697,-35667,-35638,-35609,-35579,-35550,-35520,-35491,-35461,-35431,-35401,//1902
	-35461,-35431,-35401,-35372,-35342,-35313,-35283,-35254,-35225,-35195,-35166,-35137,-35107,-35077,-35048,//1903
	-35077,-35048,-35018,-34988,-34958,-34929,-34899,-34870,-34841,-34811,-34782,-34753,-34723,-34693,-34664,//1904
	-34723,-34693,-34664,-34634,-34604,-34575,-34545,-34515,-34486,-34457,-34427,-34398,-34368,-34339,-34309,//1905
	-34368,-34339,-34309,-34280,-34250,-34220,-34191,-34161,-34132,-34102,-34073,-34043,-34014,-33984,-33955,//1906
	-33984,-33955,-33925,-33896,-33866,-33837,-33807,-33778,-33748,-33718,-33689,-33659,-33630,-33600,-33571,//1907
	-33630,-33600,-33571,-33541,-33512,-33483,-33453,-33423,-33394,-33364,-33335,-33305,-33275,-33246,-33216,//1908
	-33275,-33246,-33216,-33187,-33157,-33128,-33099,-33069,-33040,-33010,-32981,-32951,-32921,-32891,-32862,//1909
	-32891,-32862,-32832,-32803,-32773,-32744,-32715,-32685,-32656,-32626,-32597,-32567,-32537,-32507,-32478,//1910
	-32537,-32507,-32478,-32448,-32419,-32389,-32360,-32331,-32301,-32272,-32243,-32213,-32183,-32154,-32124,//1911
	-32154,-32124,-32094,-32064,-32035,-32005,-31976,-31947,-31917,-31888,-31859,-31829,-31799,-31770,-31740,//1912
	-31799,-31770,-31740,-31710,-31680,-31651,-31621,-31592,-31563,-31533,-31504,-31475,-31445,-31416,-31386,//1913
	-31445,-31416,-31386,-31356,-31326,-31297,-31267,-31238,-31208,-31179,-31149,-31120,-31091,-31061,-31032,//1914
	-31061,-31032,-31002,-30972,-30943,-30913,-30883,-30854,-30824,-30795,-30765,-30736,-30706,-30677,-30648,//1915
	-30706,-30677,-30648,-30618,-30588,-30559,-30529,-30500,-30470,-30440,-30411,-30381,-30352,-30322,-30293,//1916
	-30352,-30322,-30293,-30263,-30234,-30205,-30175,-30146,-30116,-30086,-30057,-30027,-29997,-29968,-29938,//1917
	-29968,-29938,-29909,-29879,-29850,-29821,-29791,-29762,-29732,-29703,-29673,-29643,-29614,-29584,-29554,//1918
	-29614,-29584,-29554,-29525,-29495,-29466,-29437,-29407,-29378,-29349,-29319,-29289,-29260,-29230,-29200,//1919
	-29230,-29200,-29170,-29141,-29111,-29082,-29053,-29023,-28994,-28965,-28935,-28906,-28876,-28846,-28816,//1920
	-28876,-28846,-28816,-28786,-28757,-28727,-28698,-28669,-28639,-28610,-28581,-28551,-28522,-28492,-28462,//1921
	-28522,-28492,-28462,-28432,-28403,-28373,-28343,-28314,-28285,-28255,-28226,-28197,-28167,-28138,-28108,//1922
	-28138,-28108,-28078,-28049,-28019,-27989,-27960,-27930,-27901,-27871,-27842,-27813,-27783,-27754,-27724,//1923
	-27783,-27754,-27724,-27695,-27665,-27635,-27606,-27576,-27546,-27517,-27487,-27458,-27428,-27399,-27370,//1924
	-27428,-27399,-27370,-27340,-27311,-27281,-27252,-27222,-27192,-27163,-27133,-27103,-27074,-27044,-27015,//1925
	-27044,-27015,-26985,-26956,-26927,-26897,-26868,-26838,-26809,-26779,-26749,-26720,-26690,-26660,-26631,//1926
	-26690,-26660,-26631,-26601,-26572,-26543,-26513,-26484,-26454,-26425,-26395,-26366,-26336,-26306,-26276,//1927
	-26336,-26306,-26276,-26247,-26217,-26188,-26159,-26129,-26100,-26071,-26041,-26012,-25982,-25952,-25922,//1928
	-25952,-25922,-25892,-25863,-25833,-25804,-25775,-25745,-25716,-25687,-25657,-25628,-25598,-25568,-25538,//1929
	-25598,-25568,-25538,-25509,-25479,-25449,-25420,-25391,-25361,-25332,-25303,-25273,-25244,-25214,-25184,//1930
	-25214,-25184,-25155,-25125,-25095,-25066,-25036,-25007,-24977,-24948,-24919,-24889,-24860,-24830,-24801,//1931
	-24860,-24830,-24801,-24771,-24741,-24711,-24682,-24652,-24623,-24593,-24564,-24535,-24505,-24476,-24446,//1932
	-24505,-24476,-24446,-24417,-24387,-24357,-24328,-24298,-24268,-24239,-24209,-24180,-24150,-24121,-24092,//1933
	-24121,-24092,-24062,-24033,-24003,-23974,-23944,-23914,-23885,-23855,-23826,-23796,-23766,-23737,-23707,//1934
	-23766,-23737,-23707,-23678,-23649,-23619,-23590,-23560,-23531,-23501,-23471,-23442,-23412,-23382,-23353,//1935
	-23412,-23382,-23353,-23323,-23294,-23265,-23235,-23206,-23177,-23147,-23117,-23088,-23058,-23028,-22998,//1936
	-23028,-22998,-22969,-22939,-22910,-22881,-22851,-22822,-22793,-22763,-22734,-22704,-22674,-22644,-22615,//1937
	-22674,-22644,-22615,-22585,-22555,-22526,-22497,-22467,-22438,-22409,-22379,-22350,-22320,-22290,-22261,//1938
	-22290,-22261,-22231,-22201,-22171,-22142,-22113,-22083,-22054,-22025,-21995,-21966,-21936,-21907,-21877,//1939
	-21936,-21907,-21877,-21847,-21817,-21788,-21758,-21729,-21699,-21670,-21641,-21611,-21582,-21552,-21523,//1940
	-21582,-21552,-21523,-21493,-21463,-21434,-21404,-21374,-21345,-21315,-21286,-21257,-21227,-21198,-21168,//1941
	-21198,-21168,-21139,-21109,-21080,-21050,-21020,-20991,-20961,-20932,-20902,-20873,-20843,-20814,-20784,//1942
	-20843,-20814,-20784,-20755,-20725,-20696,-20666,-20637,-20607,-20577,-20548,-20518,-20489,-20459,-20430,//1943
	-20489,-20459,-20430,-20400,-20371,-20341,-20312,-20282,-20253,-20223,-20194,-20164,-20134,-20105,-20075,//1944
	-20105,-20075,-20045,-20016,-19987,-19957,-19928,-19899,-19869,-19840,-19810,-19780,-19750,-19721,-19691,//1945
	-19750,-19721,-19691,-19661,-19632,-19603,-19573,-19544,-19515,-19485,-19456,-19426,-19396,-19367,-19337,//1946
	-19396,-19367,-19337,-19307,-19277,-19248,-19219,-19189,-19160,-19131,-19101,-19072,-19042,-19013,-18983,//1947
	-19013,-18983,-18953,-18923,-18894,-18864,-18835,-18805,-18776,-18747,-18717,-18688,-18658,-18629,-18599,//1948
	-18658,-18629,-18599,-18569,-18540,-18510,-18480,-18451,-18421,-18392,-18363,-18333,-18304,-18274,-18245,//1949
	-18274,-18245,-18215,-18186,-18156,-18126,-18097,-18067,-18037,-18008,-17979,-17949,-17920,-17890,-17861,//1950
	-17920,-17890,-17861,-17831,-17802,-17772,-17742,-17713,-17683,-17654,-17624,-17595,-17565,-17536,-17506,//1951
	-17565,-17536,-17506,-17477,-17447,-17418,-17388,-17359,-17329,-17300,-17270,-17240,-17211,-17181,-17152,//1952
	-17181,-17152,-17122,-17093,-17063,-17034,-17005,-16975,-16945,-16916,-16886,-16856,-16827,-16797,-16768,//1953
	-16827,-16797,-16768,-16738,-16709,-16679,-16650,-16621,-16591,-16562,-16532,-16502,-16473,-16443,-16413,//1954
	-16473,-16443,-16413,-16384,-16354,-16325,-16295,-16266,-16237,-16207,-16178,-16148,-16119,-16089,-16059,//1955
	-16089,-16059,-16029,-16000,-15970,-15941,-15911,-15882,-15853,-15823,-15794,-15764,-15735,-15705,-15675,//1956
	-15735,-15705,-15675,-15645,-15616,-15586,-15557,-15527,-15498,-15469,-15439,-15410,-15380,-15351,-15321,//1957
	-15351,-15321,-15292,-15262,-15232,-15202,-15173,-15143,-15114,-15085,-15055,-15026,-14996,-14967,-14937,//1958
	-14996,-14967,-14937,-14908,-14878,-14848,-14819,-14789,-14760,-14730,-14701,-14671,-14642,-14612,-14583,//1959
	-14642,-14612,-14583,-14553,-14524,-14494,-14465,-14435,-14405,-14376,-14346,-14317,-14287,-14258,-14228,//1960
	-14258,-14228,-14199,-14169,-14140,-14110,-14081,-14051,-14022,-13992,-13962,-13933,-13903,-13874,-13844,//1961
	-13903,-13874,-13844,-13815,-13785,-13756,-13727,-13697,-13668,-13638,-13608,-13579,-13549,-13519,-13490,//1962
	-13549,-13519,-13490,-13460,-13431,-13401,-13372,-13343,-13313,-13284,-13254,-13225,-13195,-13165,-13135,//1963
	-13165,-13135,-13106,-13076,-13047,-13017,-12988,-12959,-12929,-12900,-12870,-12841,-12811,-12781,-12751,//1964
	-12811,-12781,-12751,-12722,-12692,-12663,-12633,-12604,-12575,-12545,-12516,-12487,-12457,-12427,-12398,//1965
	-12457,-12427,-12398,-12368,-12338,-12308,-12279,-12249,-12220,-12191,-12161,-12132,-12103,-12073,-12043,//1966
	-12073,-12043,-12014,-11984,-11954,-11925,-11895,-11865,-11836,-11807,-11777,-11748,-11718,-11689,-11659,//1967
	-11718,-11689,-11659,-11630,-11600,-11571,-11541,-11511,-11482,-11452,-11423,-11393,-11364,-11334,-11305,//1968
	-11334,-11305,-11275,-11246,-11216,-11187,-11157,-11128,-11098,-11068,-11039,-11009,-10980,-10950,-10921,//1969
	-10980,-10950,-10921,-10891,-10862,-10833,-10803,-10774,-10744,-10714,-10685,-10655,-10625,-10596,-10566,//1970
	-10625,-10596,-10566,-10537,-10507,-10478,-10449,-10419,-10390,-10360,-10331,-10301,-10271,-10241,-10212,//1971
	-10241,-10212,-10182,-10153,-10123,-10094,-10065,-10035,-10006,-9976,-9947,-9917,-9887,-9858,-9828,//1972
	-9887,-9858,-9828,-9798,-9769,-9739,-9710,-9681,-9651,-9622,-9593,-9563,-9533,-9504,-9474,//1973
	-9533,-9504,-9474,-9444,-9414,-9385,-9355,-9326,-9297,-9267,-9238,-9209,-9179,-9149,-9120,//1974
	-9149,-9120,-9090,-9060,-9030,-9001,-8971,-8942,-8913,-8883,-8854,-8825,-8795,-8766,-8736,//1975
	-8795,-8766,-8736,-8706,-8676,-8647,-8617,-8588,-8558,-8529,-8499,-8470,-8441,-8411,-8382,//1976
	-8411,-8382,-8352,-8322,-8293,-8263,-8233,-8204,-8174,-8145,-8115,-8086,-8056,-8027,-7998,//1977
	-8056,-8027,-7998,-7968,-7939,-7909,-7879,-7850,-7820,-7790,-7761,-7731,-7702,-7672,-7643,//1978
	-7702,-7672,-7643,-7613,-7584,-7555,-7525,-7496,-7466,-7436,-7407,-7377,-7347,-7318,-7288,//1979
	-7318,-7288,-7259,-7229,-7200,-7171,-7141,-7112,-7082,-7053,-7023,-6993,-6964,-6934,-6904,//1980
	-6964,-6934,-6904,-6875,-6845,-6816,-6787,-6757,-6728,-6699,-6669,-6639,-6610,-6580,-6550,//1981
	-6610,-6580,-6550,-6520,-6491,-6461,-6432,-6403,-6373,-6344,-6315,-6285,-6256,-6226,-6196,//1982
	-6226,-6196,-6166,-6136,-6107,-6077,-6048,-6019,-5989,-5960,-5931,-5901,-5872,-5842,-5812,//1983
	-5872,-5842,-5812,-5782,-5753,-5723,-5693,-5664,-5635,-5605,-5576,-5547,-5517,-5488,-5458,//1984
	-5488,-5458,-5428,-5399,-5369,-5339,-5310,-5280,-5251,-5221,-5192,-5163,-5133,-5104,-5074,//1985
	-5133,-5104,-5074,-5045,-5015,-4985,-4956,-4926,-4896,-4867,-4837,-4808,-4778,-4749,-4720,//1986
	-4778,-4749,-4720,-4690,-4661,-4631,-4602,-4572,-4542,-4513,-4483,-4453,-4424,-4394,-4365,//1987
	-4394,-4365,-4336,-4306,-4277,-4247,-4218,-4188,-4159,-4129,-4099,-4070,-4040,-4010,-3981,//1988
	-4040,-4010,-3981,-3951,-3922,-3893,-3863,-3834,-3804,-3775,-3745,-3716,-3686,-3656,-3626,//1989
	-3686,-3656,-3626,-3597,-3567,-3538,-3509,-3479,-3450,-3421,-3391,-3362,-3332,-3302,-3272,//1990
	-3302,-3272,-3242,-3213,-3183,-3154,-3125,-3095,-3066,-3037,-3007,-2978,-2948,-2918,-2888,//1991
	-2948,-2918,-2888,-2859,-2829,-2799,-2770,-2741,-2711,-2682,-2653,-2623,-2594,-2564,-2534,//1992
	-2594,-2564,-2534,-2505,-2475,-2445,-2416,-2386,-2357,-2327,-2298,-2269,-2239,-2210,-2180,//1993
	-2210,-2180,-2151,-2121,-2091,-2061,-2032,-2002,-1973,-1943,-1914,-1885,-1855,-1826,-1796,//1994
	-1855,-1826,-1796,-1767,-1737,-1707,-1678,-1648,-1619,-1589,-1559,-1530,-1501,-1471,-1442,//1995
	-1471,-1442,-1412,-1383,-1353,-1324,-1294,-1264,-1235,-1205,-1176,-1146,-1116,-1087,-1058,//1996
	-1116,-1087,-1058,-1028,-999,-969,-940,-910,-881,-851,-821,-792,-762,-732,-703,//1997
	-762,-732,-703,-673,-644,-615,-585,-556,-527,-497,-467,-438,-408,-378,-349,//1998
	-378,-349,-319,-289,-260,-231,-201,-172,-143,-113,-84,-54,-24,6,35,//1999
	-24,6,35,65,95,124,153,183,212,241,271,300,330,360,389,//2000
	330,360,389,419,449,478,508,537,567,596,625,655,684,714,743,//2001
	714,743,773,803,833,862,892,921,951,980,1009,1039,1068,1098,1127,//2002
	1068,1098,1127,1157,1187,1216,1246,1276,1305,1335,1364,1393,1423,1452,1482,//2003
	1423,1452,1482,1511,1541,1570,1600,1630,1659,1689,1718,1748,1777,1807,1836,//2004
	1807,1836,1866,1895,1925,1954,1984,2013,2043,2073,2102,2132,2161,2191,2220,//2005
	2161,2191,2220,2250,2279,2309,2338,2368,2397,2427,2456,2486,2516,2545,2575,//2006
	2545,2575,2605,2634,2663,2693,2722,2751,2781,2810,2840,2870,2900,2929,2959,//2007
	2900,2929,2959,2989,3018,3047,3077,3106,3135,3165,3194,3224,3254,3283,3313,//2008
	3254,3283,3313,3343,3373,3402,3431,3461,3490,3519,3549,3578,3608,3637,3667,//2009
	3637,3667,3697,3727,3756,3786,3815,3845,3874,3903,3933,3962,3992,4021,4051,//2010
	3992,4021,4051,4081,4110,4140,4170,4199,4229,4258,4287,4317,4346,4376,4405,//2011
	4346,4376,4405,4435,4464,4494,4524,4553,4583,4612,4642,4671,4701,4730,4760,//2012
	4730,4760,4789,4819,4848,4878,4907,4937,4967,4996,5026,5055,5085,5114,5144,//2013
	5085,5114,5144,5173,5203,5232,5262,5291,5321,5350,5380,5410,5439,5469,5498,//2014
	5469,5498,5528,5557,5587,5616,5645,5675,5704,5734,5764,5794,5823,5853,5882,//2015
	5823,5853,5882,5912,5941,5971,6000,6029,6059,6088,6118,6148,6177,6207,6237,//2016
	6177,6207,6237,6266,6296,6325,6355,6384,6413,6443,6472,6502,6531,6561,6591,//2017
	6561,6591,6621,6650,6680,6709,6739,6768,6797,6827,6856,6886,6915,6945,6975,//2018
	6915,6945,6975,7005,7034,7064,7093,7123,7152,7181,7211,7240,7269,7299,7329,//2019
	7269,7299,7329,7358,7388,7418,7448,7477,7507,7536,7565,7595,7624,7654,7683,//2020
	7654,7683,7713,7742,7772,7802,7831,7861,7890,7920,7949,7979,8008,8038,8067,//2021
	8008,8038,8067,8097,8126,8156,8185,8215,8245,8274,8304,8333,8363,8392,8422,//2022
	8363,8392,8422,8451,8481,8510,8539,8569,8599,8628,8658,8688,8717,8747,8776,//2023
	8747,8776,8806,8835,8865,8894,8923,8953,8982,9012,9042,9071,9101,9131,9160,//2024
	9101,9131,9160,9190,9219,9249,9278,9307,9337,9366,9396,9425,9455,9485,9515,//2025
	9485,9515,9544,9574,9603,9633,9662,9691,9721,9750,9779,9809,9839,9869,9898,//2026
	9839,9869,9898,9928,9958,9987,10017,10046,10075,10105,10134,10163,10193,10223,10252,//2027
	10193,10223,10252,10282,10312,10342,10371,10401,10430,10459,10489,10518,10547,10577,10607,//2028
	10577,10607,10636,10666,10696,10725,10755,10784,10814,10843,10873,10902,10931,10961,10991,//2029
	10931,10961,10991,11020,11050,11079,11109,11139,11168,11198,11227,11257,11286,11316,11345,//2030
	11286,11316,11345,11374,11404,11434,11463,11493,11522,11552,11582,11611,11641,11670,11700,//2031
	11670,11700,11729,11759,11788,11817,11847,11876,11906,11936,11965,11995,12025,12054,12084,//2032
	12025,12054,12084,12113,12143,12172,12201,12231,12260,12290,12319,12349,12379,12409,12438,//2033
	12379,12409,12438,12468,12497,12527,12556,12585,12615,12644,12674,12703,12733,12763,12792,//2034
	12763,12792,12822,12852,12881,12911,12940,12969,12999,13028,13057,13087,13117,13146,13176,//2035
	13117,13146,13176,13206,13236,13265,13295,13324,13353,13383,13412,13441,13471,13500,13530,//2036
	13500,13530,13560,13590,13620,13649,13679,13708,13737,13767,13796,13825,13855,13884,13914,//2037
	13855,13884,13914,13944,13974,14003,14033,14062,14092,14121,14151,14180,14209,14239,14268,//2038
	14209,14239,14268,14298,14328,14357,14387,14417,14446,14476,14505,14535,14564,14594,14623,//2039
	14594,14623,14652,14682,14711,14741,14771,14800,14830,14859,14889,14919,14948,14978,15007,//2040
	14948,14978,15007,15036,15066,15095,15125,15154,15184,15214,15243,15273,15303,15332,15362,//2041
	15303,15332,15362,15391,15421,15450,15479,15509,15538,15568,15597,15627,15657,15686,15716,//2042
	15686,15716,15746,15775,15805,15834,15863,15893,15922,15951,15981,16011,16040,16070,16100,//2043
	16040,16070,16100,16130,16159,16189,16218,16247,16277,16306,16335,16365,16394,16424,16454,//2044
	16424,16454,16484,16514,16543,16573,16602,16631,16661,16690,16719,16749,16778,16808,16838,//2045
	16778,16808,16838,16868,16897,16927,16956,16986,17015,17045,17074,17103,17133,17162,17192,//2046
	17133,17162,17192,17222,17251,17281,17311,17340,17370,17399,17429,17458,17487,17517,17546,//2047
	17517,17546,17576,17605,17635,17665,17694,17724,17754,17783,17813,17842,17871,17901,17930,//2048
	17871,17901,17930,17960,17989,18019,18048,18078,18108,18137,18167,18197,18226,18256,18285,//2049
	18226,18256,18285,18314,18344,18373,18403,18432,18462,18491,18521,18551,18580,18610,18640,//2050
	18610,18640,18669,18699,18728,18757,18787,18816,18845,18875,18905,18934,18964,18994,19024,//2051
	18964,18994,19024,19053,19083,19112,19141,19171,19200,19229,19259,19288,19318,19348,19378,//2052
	19348,19378,19408,19437,19467,19496,19525,19555,19584,19613,19643,19672,19702,19732,19762,//2053
	19702,19732,19762,19791,19821,19851,19880,19909,19939,19968,19997,20027,20056,20086,20116,//2054
	20056,20086,20116,20145,20175,20205,20234,20264,20293,20323,20352,20381,20411,20440,20470,//2055
	20440,20470,20499,20529,20559,20589,20618,20648,20677,20707,20736,20765,20795,20824,20854,//2056
	20795,20824,20854,20883,20913,20943,20972,21002,21031,21061,21090,21120,21149,21179,21208,//2057
	21149,21179,21208,21238,21267,21297,21326,21356,21385,21415,21445,21474,21504,21534,21563,//2058
	21534,21563,21592,21622,21651,21681,21710,21740,21769,21799,21828,21858,21888,21918,21947,//2059
	21888,21918,21947,21977,22006,22035,22065,22094,22123,22153,22182,22212,22242,22272,22301,//2060
	22242,22272,22301,22331,22361,22390,22419,22449,22478,22507,22537,22566,22596,22626,22656,//2061
	22626,22656,22685,22715,22745,22774,22803,22833,22862,22891,22921,22950,22980,23010,23039,//2062
	22980,23010,23039,23069,23099,23128,23158,23187,23217,23246,23275,23305,23334,23364,23393,//2063
	23364,23393,23423,23453,23483,23512,23542,23571,23601,23630,23659,23689,23718,23748,23777,//2064
	23718,23748,23777,23807,23837,23866,23896,23926,23955,23985,24014,24043,24073,24102,24132,//2065
	24073,24102,24132,24161,24191,24220,24250,24280,24309,24339,24368,24398,24427,24457,24486,//2066
	24457,24486,24516,24545,24575,24604,24634,24663,24693,24723,24752,24782,24811,24841,24870,//2067
	24811,24841,24870,24900,24929,24959,24988,25017,25047,25077,25106,25136,25166,25195,25225,//2068
	25166,25195,25225,25254,25284,25313,25343,25372,25401,25431,25460,25490,25520,25550,25579,//2069
	25550,25579,25609,25638,25668,25697,25727,25756,25785,25815,25844,25874,25904,25933,25963,//2070
	25904,25933,25963,25993,26022,26052,26081,26111,26140,26169,26199,26228,26258,26287,26317,//2071
	26287,26317,26347,26377,26406,26436,26465,26495,26524,26553,26583,26612,26642,26671,26701,//2072
	26642,26671,26701,26731,26760,26790,26820,26849,26879,26908,26937,26967,26996,27026,27055,//2073
	26996,27026,27055,27085,27114,27144,27174,27203,27233,27262,27292,27321,27351,27380,27410,//2074
	27380,27410,27439,27469,27498,27528,27557,27587,27617,27646,27676,27705,27735,27764,27794,//2075
	27735,27764,27794,27823,27853,27882,27912,27941,27971,28000,28030,28060,28089,28119,28148,//2076
	28089,28119,28148,28178,28207,28237,28266,28295,28325,28354,28384,28414,28444,28473,28503,//2077
	28473,28503,28532,28562,28591,28621,28650,28679,28709,28738,28768,28798,28827,28857,28887,//2078
	28827,28857,28887,28916,28946,28975,29005,29034,29063,29093,29122,29152,29181,29211,29241,//2079
	29181,29211,29241,29271,29300,29330,29359,29389,29418,29447,29477,29506,29535,29565,29595,//2080
	29565,29595,29625,29654,29684,29714,29743,29773,29802,29831,29861,29890,29919,29949,29979,//2081
	29919,29949,29979,30008,30038,30068,30098,30127,30156,30186,30215,30245,30274,30303,30333,//2082
	30303,30333,30363,30392,30422,30452,30481,30511,30540,30570,30599,30629,30658,30688,30717,//2083
	30658,30688,30717,30747,30776,30806,30835,30865,30895,30924,30954,30983,31013,31042,31072,//2084
	31013,31042,31072,31101,31131,31160,31189,31219,31249,31278,31308,31338,31367,31397,31426,//2085
	31397,31426,31456,31485,31515,31544,31573,31603,31632,31662,31692,31721,31751,31781,31810,//2086
	31751,31781,31810,31840,31869,31899,31928,31957,31987,32016,32046,32075,32105,32135,32165,//2087
	32105,32135,32165,32194,32224,32253,32283,32312,32341,32371,32400,32429,32459,32489,32519,//2088
	32489,32519,32548,32578,32608,32637,32667,32696,32725,32754,32784,32813,32843,32873,32902,//2089
	32843,32873,32902,32932,32962,32992,33021,33051,33080,33109,33139,33168,33197,33227,33257,//2090
	33227,33257,33286,33316,33346,33375,33405,33434,33464,33493,33523,33552,33581,33611,33640,//2091
	33581,33611,33640,33670,33700,33729,33759,33789,33818,33848,33877,33907,33936,33966,33995,//2092
	33936,33966,33995,34024,34054,34084,34113,34143,34172,34202,34232,34261,34291,34320,34350,//2093
	34320,34350,34379,34408,34438,34467,34497,34526,34556,34586,34615,34645,34675,34704,34734,//2094
	34675,34704,34734,34763,34793,34822,34851,34881,34910,34940,34969,34999,35029,35059,35088,//2095
	35029,35059,35088,35118,35147,35177,35206,35235,35265,35294,35323,35353,35383,35413,35442,//2096
	35413,35442,35472,35502,35531,35561,35590,35619,35648,35678,35707,35737,35767,35796,35826,//2097
	35767,35796,35826,35856,35886,35915,35945,35974,36003,36032,36062,36091,36121,36150,36180,//2098
	36121,36150,36180,36210,36240,36269,36299,36329,36358,36387,36417,36446,36475,36505,36534,//2099
	36505,36534,36564,36594,36624,36653,36683,36712,36742,36771,36801,36830,36859,36889,36918,//2100
};
//月首码表是农历与公历转换的核心数据结构之一，解决了农历月份长度和闰月不规则的问题，使得日期转换变得高效和准确。
const double Jieqi[] = {//节气码表
	-58448.6931602335,-58433.9788180894,-58419.2512883828,-58404.4827664288,-58389.6389288567,-58374.6989248949,-58359.6385648816,-58344.4515437680,-58329.1281003214,-58313.6819312553,-58298.1182927126,-58282.4715381649,-58266.7586595891,-58251.0281386724,-58235.3019020019,-58219.6301012004,-58204.0307181125,-58188.5423399723,-58173.1717623188,-58157.9379736951,-58142.8324522449,-58127.8537495048,-58112.9781749247,-58098.1884433475,//1840
	-58083.4497428129,-58068.7364640870,-58054.0089947209,-58039.2416035247,-58024.3974164474,-58009.4580040874,-57994.3972106360,-57979.2094938968,-57963.8864463091,-57948.4378141339,-57932.8767697499,-57917.2260284062,-57901.5186826257,-57885.7829177499,-57870.0638601795,-57854.3859068061,-57838.7937137641,-57823.2992351682,-57807.9350368931,-57792.6956219679,-57777.5954674722,-57762.6114358105,-57747.7405934372,-57732.9455945306,//1841
	-57718.2115372202,-57703.4929180290,-57688.7703034615,-57673.9975054633,-57659.1583619283,-57644.2136545150,-57629.1577841386,-57613.9652693296,-57598.6463851962,-57583.1942039558,-57567.6356858836,-57551.9837326772,-57536.2765733104,-57520.5427492765,-57504.8213117693,-57489.1478130918,-57473.5506634341,-57458.0616762356,-57442.6907348062,-57427.4569525677,-57412.3492625855,-57397.3707469844,-57382.4922656294,-57367.7028626339,//1842
	-57352.9616294581,-57338.2492333078,-57323.5204826516,-57308.7549542184,-57293.9107071722,-57278.9741767365,-57263.9136751942,-57248.7297520877,-57233.4060750130,-57217.9619553933,-57202.3981839230,-57186.7523743176,-57171.0401065963,-57155.3095691111,-57139.5847133287,-57123.9115624044,-57108.3134385855,-57092.8220997670,-57077.4520625806,-57062.2140026580,-57047.1083585096,-57032.1248147310,-57017.2491237240,-57002.4549903569,//1843
	-56987.7171035459,-56973.0007308272,-56958.2756350230,-56943.5067771639,-56928.6665484726,-56913.7269578342,-56898.6711305535,-56883.4836715297,-56868.1655859887,-56852.7167286697,-56837.1593925582,-56821.5073501917,-56805.8015634308,-56790.0638381255,-56774.3445906241,-56758.6650904253,-56743.0717040917,-56727.5765038498,-56712.2103726621,-56696.9706878809,-56681.8679993377,-56666.8837825090,-56652.0101636120,-56637.2150892595,//1844
	-56622.4786176286,-56607.7604718783,-56593.0364077297,-56578.2651040290,-56563.4256569538,-56548.4836362581,-56533.4281802373,-56518.2392532683,-56502.9206292879,-56487.4722259967,-56471.9128489910,-56456.2638855620,-56440.5542103084,-56424.8219689076,-56409.0970748542,-56393.4242044009,-56377.8241385554,-56362.3355506644,-56346.9628561696,-56331.7294653999,-56316.6208525781,-56301.6426195967,-56286.7633668306,-56271.9739625296,//1845
	-56257.2315341665,-56242.5186841629,-56227.7880780806,-56213.0217643941,-56198.1754941428,-56183.2384466596,-56168.1768199051,-56152.9932480661,-56137.6702030809,-56122.2271391175,-56106.6657995206,-56091.0209363040,-56075.3121866554,-56059.5814828714,-56043.8600417967,-56028.1852753312,-56012.5899110780,-55997.0962755592,-55981.7285268757,-55966.4882512308,-55951.3846235240,-55936.3989870953,-55921.5249946214,-55906.7284362962,//1846
	-55891.9916847725,-55877.2721174985,-55862.5474953712,-55847.7747728929,-55832.9347261229,-55817.9913404837,-55802.9361508972,-55787.7459726066,-55772.4295436664,-55756.9797331770,-55741.4249687148,-55725.7739169066,-55710.0708595928,-55694.3356995366,-55678.6180891141,-55662.9413899074,-55647.3472511028,-55631.8537258063,-55616.4846266643,-55601.2456731514,-55586.1392584996,-55571.1559271401,-55556.2790843255,-55541.4856430178,//1847
	-55526.7467075249,-55512.0307568834,-55497.3046193120,-55482.5355817191,-55467.6939566830,-55452.7539897542,-55437.6960947299,-55422.5092119052,-55407.1881561450,-55391.7421816014,-55376.1807874352,-55360.5345957689,-55344.8236163654,-55329.0939520602,-55313.3686537586,-55297.6974420870,-55282.0975040051,-55266.6089583792,-55251.2362705220,-55236.0013679519,-55220.8925417062,-55205.9121753920,-55191.0329731957,-55176.2418710593,//1848
	-55161.5002746890,-55146.7867108203,-55132.0577424772,-55117.2914582084,-55102.4471163909,-55087.5099123829,-55072.4496509082,-55057.2645950479,-55041.9419621889,-55026.4958508977,-55010.9347269231,-54995.2862254485,-54979.5786002747,-54963.8448071992,-54948.1256116992,-54932.4490457959,-54916.8566365105,-54901.3625296085,-54885.9976745567,-54870.7574062866,-54855.6558687842,-54840.6699046194,-54825.7970401106,-54810.9996192492,//1849
	-54796.2634945791,-54781.5428410611,-54766.8189039387,-54752.0452049195,-54737.2060235616,-54722.2617395500,-54707.2071233269,-54692.0158475782,-54676.6990190471,-54661.2479297858,-54645.6915291043,-54630.0397380912,-54614.3343121989,-54598.5997793869,-54582.8798816567,-54567.2054350271,-54551.6097169323,-54536.1198134814,-54520.7499852179,-54505.5151458972,-54490.4079615651,-54475.4279454137,-54460.5492202689,-54445.7577363639,//1850
	-54431.0157643211,-54416.3009933074,-54401.5715727436,-54386.8039685404,-54371.9597256045,-54357.0220480200,-54341.9625587893,-54326.7786958123,-54311.4567971268,-54296.0136709871,-54280.4516061548,-54264.8070358357,-54249.0954050969,-54233.3657494375,-54217.6402559057,-54201.9678006713,-54186.3684039941,-54170.8780092504,-54155.5067134070,-54140.2699234717,-54125.1632201829,-54110.1810722204,-54095.3042763680,-54080.5112905968,//1851
	-54065.7719210580,-54051.0562128065,-54036.3291747267,-54021.5606326192,-54006.7182839660,-53991.7791276150,-53976.7215096390,-53961.5350830913,-53946.2159632339,-53930.7688071740,-53915.2112405167,-53899.5610804179,-53883.8554332391,-53868.1188242826,-53852.3995248027,-53836.7198621350,-53821.1262053262,-53805.6299682207,-53790.2637922511,-53775.0229327554,-53759.9208064231,-53744.9358558880,-53730.0634387307,-53715.2681054604,//1852
	-53700.5331109353,-53685.8147726610,-53671.0919678809,-53656.3201253766,-53641.4814873751,-53626.5384660105,-53611.4835552884,-53596.2933566299,-53580.9754687296,-53565.5258197060,-53549.9676945286,-53534.3177604385,-53518.6097338645,-53502.8767245527,-53487.1531900664,-53471.4793549339,-53455.8796467389,-53440.3898310277,-53425.0166682820,-53409.7821547605,-53394.6729545294,-53379.6941902312,-53364.8149289210,-53350.0258674902,//1853
	-53335.2843099673,-53320.5725151067,-53305.8433601009,-53291.0782850819,-53276.2333909165,-53261.2972645551,-53246.2363760594,-53231.0532236032,-53215.7300485244,-53200.2870867168,-53184.7248483050,-53169.0802241070,-53153.3701179174,-53137.6401337597,-53121.9172156815,-53106.2433979441,-53090.6463271355,-53075.1532481108,-53059.7835082425,-53044.5432852678,-53029.4376595365,-53014.4520451441,-52999.5764599684,-52984.7805100084,//1854
	-52970.0430040629,-52955.3250625709,-52940.6006925953,-52925.8305362169,-52910.9913987971,-52896.0508776459,-52880.9965446404,-52865.8086759081,-52850.4925041314,-52835.0438620255,-52819.4886938534,-52803.8375277249,-52788.1337374757,-52772.3974224028,-52756.6793741545,-52741.0010550865,-52725.4070450837,-52709.9117179619,-52694.5429711957,-52679.3019896348,-52664.1958821546,-52649.2104440997,-52634.3339742168,-52619.5386853606,//1855
	-52604.8006010625,-52590.0835230861,-52575.3591643121,-52560.5900557377,-52545.7512738385,-52530.8121575064,-52515.7577319279,-52500.5718928161,-52485.2540652775,-52469.8084462152,-52454.2492181432,-52438.6023193543,-52422.8919684041,-52407.1607191352,-52391.4346032944,-52375.7616379209,-52360.1601951100,-52344.6705417906,-52329.2963913678,-52314.0611217239,-52298.9509840866,-52283.9706599143,-52269.0902113284,-52254.2993460721,//1856
	-52239.5566890174,-52224.8436368962,-52210.1141066117,-52195.3489255703,-52180.5048357866,-52165.5696538213,-52150.5104799818,-52135.3283230225,-52120.0070635466,-52104.5640861332,-52089.0036811717,-52073.3576777846,-52057.6494335393,-52041.9168023523,-52026.1956379704,-52010.5187099884,-51994.9235736127,-51979.4282466642,-51964.0609298451,-51948.8195605104,-51933.7164577230,-51918.7300064249,-51903.8563996789,-51889.0590426996,//1857
	-51874.3226424194,-51859.6023907561,-51844.8784239057,-51830.1054166938,-51815.2665376192,-51800.3233902246,-51785.2697276951,-51770.0801549962,-51754.7651609914,-51739.3159969522,-51723.7619884511,-51708.1114532687,-51692.4081309450,-51676.6733512589,-51660.9545500388,-51645.2781373021,-51629.6821874750,-51614.1890559808,-51598.8181311382,-51583.5798193166,-51568.4717170529,-51553.4890331461,-51538.6103668166,-51523.8174230898,//1858
	-51509.0766299714,-51494.3613440291,-51479.6338282528,-51464.8661236074,-51450.0240205883,-51435.0863439051,-51420.0290063053,-51404.8453106821,-51389.5256094219,-51374.0830914589,-51358.5231978619,-51342.8797355826,-51327.1696729018,-51311.4411357251,-51295.7158800327,-51280.0439228685,-51264.4430660086,-51248.9522356157,-51233.5780373565,-51218.3401003184,-51203.2299250865,-51188.2467531237,-51173.3670003123,-51158.5739654739,//1859
	-51143.8328731501,-51129.1184241349,-51114.3909164055,-51099.6246091779,-51084.7824983177,-51069.8459885207,-51054.7886341833,-51039.6047832986,-51024.2856027933,-51008.8407794393,-50993.2829979165,-50977.6349982319,-50961.9293120312,-50946.1944860594,-50930.4752739970,-50914.7964400698,-50899.2025247009,-50883.7057013289,-50868.3385564396,-50853.0957150165,-50837.9919870138,-50823.0043199463,-50808.1302223828,-50793.3324480635,//1860
	-50778.5964981322,-50763.8768609368,-50749.1543904247,-50734.3826810987,-50719.5456549170,-50704.6037619768,-50689.5511993795,-50674.3622296071,-50659.0467595002,-50643.5976338651,-50628.0416080918,-50612.3913311005,-50596.6851065498,-50580.9513228842,-50565.2294322037,-50549.5547549312,-50533.9562502276,-50518.4654557849,-50503.0926591383,-50487.8567278844,-50472.7469325995,-50457.7662125038,-50442.8856919815,-50428.0944243945,//1861
	-50413.3516430545,-50398.6380106298,-50383.9084565867,-50369.1425525629,-50354.2985220711,-50339.3628450985,-50324.3038469414,-50309.1220789341,-50293.8009541526,-50278.3595859040,-50262.7985728100,-50247.1552006724,-50231.4449439878,-50215.7158204810,-50199.9917145525,-50184.3187437769,-50168.7201692945,-50153.2281244046,-50137.8569213034,-50122.6176467244,-50107.5104455047,-50092.5253808508,-50077.6478336903,-50062.8519811924,//1862
	-50048.1121626514,-50033.3941599557,-50018.6675406201,-50003.8977003004,-49989.0569500270,-49974.1176129492,-49959.0626653080,-49943.8768888739,-49928.5609688551,-49913.1147189886,-49897.5601118682,-49881.9106986518,-49866.2071614889,-49850.4711849001,-49834.7529115010,-49819.0735252901,-49803.4792370840,-49787.9822865358,-49772.6137741226,-49757.3713681963,-49742.2661364612,-49727.2796277231,-49712.4043179490,-49697.6080229027,//1863
	-49682.8709842845,-49668.1526879276,-49653.4291005185,-49638.6585485858,-49623.8204353207,-49608.8799310622,-49593.8264826468,-49578.6396587310,-49563.3234342668,-49547.8772625249,-49532.3200677973,-49516.6727220211,-49500.9641229973,-49485.2321286752,-49469.5067148007,-49453.8324807072,-49438.2304135728,-49422.7392855639,-49407.3638208082,-49392.1275196920,-49377.0163270471,-49362.0358890401,-49347.1551407328,-49332.3650150619,//1864
	-49317.6226860735,-49302.9107164147,-49288.1816584931,-49273.4173753155,-49258.5734573164,-49243.6388042764,-49228.5793494994,-49213.3975939405,-49198.0757433385,-49182.6334498503,-49167.0722949387,-49151.4274112397,-49135.7181317665,-49119.9867252095,-49104.2641043892,-49088.5878950681,-49072.9907412090,-49057.4952239588,-49042.1254779662,-49026.8833154770,-49011.7779665728,-48996.7909719839,-48981.9159540986,-48967.1190313836,//1865
	-48952.3823598592,-48937.6636454898,-48922.9402937569,-48908.1694408820,-48893.3314255340,-48878.3903077122,-48863.3371555856,-48848.1489000354,-48832.8338924196,-48817.3851169820,-48801.8308923397,-48786.1799016594,-48770.4765204507,-48754.7405762028,-48739.0219994514,-48723.3438533299,-48707.7481497418,-48692.2527403264,-48676.8816905776,-48661.6405962074,-48646.5320673904,-48631.5465465254,-48616.6676919617,-48601.8725340494,//1866
	-48587.1324728664,-48572.4161369575,-48557.6906196103,-48542.9230600650,-48528.0839409528,-48513.1470500573,-48498.0928745987,-48482.9097318526,-48467.5924662030,-48452.1496519378,-48436.5909705213,-48420.9464681795,-48405.2363579392,-48389.5065419592,-48373.7802432780,-48358.1072218098,-48342.5047576470,-48327.0132927978,-48311.6371617859,-48296.3987583491,-48281.2863356057,-48266.3026825840,-48251.4205639881,-48236.6272391016,//1867
	-48221.8841664736,-48207.1700572059,-48192.4415336986,-48177.6766919414,-48162.8348154786,-48147.9009711410,-48132.8447391843,-48117.6642177577,-48102.3460735995,-48086.9042223266,-48071.3464207068,-48055.7002165887,-48039.9932112961,-48024.2588003071,-48008.5374705203,-47992.8579346916,-47977.2618278680,-47961.7638524292,-47946.3950838139,-47931.1511419044,-47916.0463995353,-47901.0577006324,-47886.1828070695,-47871.3840115832,//1868
	-47856.6473206416,-47841.9268557626,-47827.2039300457,-47812.4319677122,-47797.5952274221,-47782.6539899228,-47767.6028169439,-47752.4153429936,-47737.1022567029,-47721.6547011228,-47706.1012649114,-47690.4515055119,-47674.7470735645,-47659.0121959528,-47643.2909107447,-47627.6137920350,-47612.0148284262,-47596.5210118332,-47581.1473367599,-47565.9087234253,-47550.7984053641,-47535.8158058312,-47520.9353296299,-47506.1427813743,//1869
	-47491.4004138136,-47476.6857165158,-47461.9567737549,-47447.1899049655,-47432.3467482697,-47417.4104821984,-47402.3528586874,-47387.1713198315,-47371.8521801992,-47356.4120566153,-47340.8532306870,-47325.2116469547,-47309.5026755727,-47293.7749201556,-47278.0503714435,-47262.3777994043,-47246.7770863598,-47231.2845279851,-47215.9101261533,-47200.6699380625,-47185.5595290861,-47170.5740213722,-47155.6941042546,-47140.8988007473,//1870
	-47126.1576200916,-47111.4410207301,-47096.7136778866,-47081.9456368759,-47067.1043452447,-47052.1668813425,-47037.1113784316,-47021.9275413874,-47006.6112310847,-46991.1671451177,-46975.6126817683,-46959.9656025073,-46944.2626953344,-46928.5284784918,-46912.8106877610,-46897.1315783500,-46881.5371179095,-46866.0388273087,-46850.6694376231,-46835.4245396730,-46820.3180999392,-46805.3288397197,-46790.4526680585,-46775.6542991869,//1871
	-46760.9173454015,-46746.1980990921,-46731.4756275450,-46716.7050303425,-46701.8686735376,-46686.9284423737,-46671.8769006191,-46656.6901363729,-46641.3757304988,-46625.9292072467,-46610.3738721623,-46594.7260608698,-46579.0195902085,-46563.2873889494,-46547.5640477230,-46531.8895939701,-46516.2886848165,-46500.7968896481,-46485.4212615537,-46470.1836595403,-46455.0712207784,-46440.0890184292,-46425.2066008755,-46410.4148028089,//1872
	-46395.6712442116,-46380.9583385601,-46366.2291153408,-46351.4649680136,-46336.6219702003,-46321.6883647031,-46306.6303445070,-46291.4500545990,-46276.1293667790,-46260.6884855571,-46245.1276889571,-46229.4840708752,-46213.7743481614,-46198.0444099318,-46182.3210910653,-46166.6466575196,-46151.0487449813,-46135.5547938454,-46120.1839874272,-46104.9426892929,-46089.8357904309,-46074.8489067922,-46059.9718494883,-46045.1746225406,//1873
	-46030.4357676188,-46015.7169265735,-46000.9918501891,-45986.2216361391,-45971.3828407979,-45956.4433397407,-45941.3903603355,-45926.2043279726,-45910.8900030851,-45895.4432644456,-45879.8897091242,-45864.2397754219,-45848.5367434427,-45832.8006185351,-45817.0823822916,-45801.4033701682,-45785.8085214457,-45770.3122065248,-45754.9424948162,-45739.7005054588,-45724.5933990627,-45709.6067542991,-45694.7290205369,-45679.9323507135,//1874
	-45665.1930314735,-45650.4749111984,-45635.7500049871,-45620.9807536297,-45606.1425653746,-45591.2045204897,-45576.1519567836,-45560.9683523518,-45545.6533044338,-45530.2104167509,-45514.6540151820,-45499.0093525194,-45483.3007445102,-45467.5703295609,-45451.8441951043,-45436.1702445407,-45420.5669827028,-45405.0749601041,-45389.6979657001,-45374.4598554069,-45359.3470314343,-45344.3644526489,-45329.4823144914,-45314.6904016891,//1875
	-45299.9473481671,-45285.2345151947,-45270.5057932415,-45255.7418971027,-45240.8995835290,-45225.9665396665,-45210.9098039671,-45195.7303530079,-45180.4117863879,-45164.9714882806,-45149.4132342276,-45133.7688212233,-45118.0610193358,-45102.3280366810,-45086.6053442113,-45070.9262623784,-45055.3282772584,-45039.8298718207,-45024.4592730380,-45009.2148022270,-44994.1090280094,-44979.1205030478,-44964.2456944941,-44949.4480465511,//1876
	-44934.7123003334,-44919.9936058997,-44905.2718772190,-44890.5016821301,-44875.6658396125,-44860.7258682830,-44845.6751119578,-44830.4882509512,-44815.1753704674,-44799.7278531287,-44784.1748367058,-44768.5245841267,-44752.8208776371,-44737.0849221454,-44721.3643982194,-44705.6854915623,-44690.0868360879,-44674.5905446328,-44659.2165762930,-44643.9752038139,-44628.8645200200,-44613.8796307006,-44598.9995182804,-44584.2058283475,//1877
	-44569.4650957417,-44554.7505526544,-44540.0244130227,-44525.2585140211,-44510.4186586910,-44495.4834137526,-44480.4287463629,-44465.2476563405,-44449.9304970959,-44434.4901120485,-44418.9321286036,-44403.2899343226,-44387.5807664872,-44371.8524783173,-44356.1268908745,-44340.4539589115,-44324.8514521350,-44309.3585076568,-44293.9815941478,-44278.7408211257,-44263.6275535709,-44248.6415512051,-44233.7591011289,-44218.9640249816,//1878
	-44204.2213661634,-44189.5062850386,-44174.7789346584,-44160.0138203669,-44145.1737542393,-44130.2401148863,-44115.1861781771,-44100.0061123850,-44084.6906443838,-44069.2493292209,-44053.6944243327,-44038.0486560745,-44022.3442301029,-44006.6099943090,-43990.8903002713,-43975.2102381022,-43959.6140821026,-43944.1143086050,-43928.7435592161,-43913.4968098439,-43898.3892086330,-43883.3978957790,-43868.5207218038,-43853.7205265640,//1879
	-43838.9830499450,-43824.2627859980,-43809.5407930056,-43794.7704935501,-43779.9359937518,-43764.9973775973,-43749.9489037282,-43734.7643561357,-43719.4534164109,-43704.0084655590,-43688.4559377795,-43672.8080457459,-43657.1030113705,-43641.3689982262,-43625.6457192718,-43609.9684289402,-43594.3667006548,-43578.8720367371,-43563.4953370676,-43548.2553966148,-43533.1420091651,-43518.1579513732,-43503.2747549734,-43488.4813911398,//1880
	-43473.7373293877,-43459.0232078399,-43444.2940846267,-43429.5294295460,-43414.6875179847,-43399.7545363257,-43384.6987053062,-43369.5202785337,-43354.2024189812,-43338.7641327866,-43323.2057502837,-43307.5644574081,-43291.8554650137,-43276.1267105461,-43260.4019242941,-43244.7273380595,-43229.1263050144,-43213.6313456494,-43198.2568632725,-43183.0144882685,-43167.9043614698,-43152.9169485191,-43138.0374393420,-43123.2403598473,//1881
	-43108.4996525139,-43093.7814792451,-43079.0549710574,-43064.2858736273,-43049.4461342468,-43034.5083349099,-43019.4551453453,-43004.2715747721,-42988.9579535501,-42973.5142711626,-42957.9621549718,-42942.3150807542,-42926.6134657341,-42910.8787871834,-42895.1610549856,-42879.4812685123,-42863.8857234766,-42848.3867227221,-42833.0154876179,-42817.7698896160,-42802.6612300504,-42787.6711829560,-42772.7926319177,-42757.9935197770,//1882
	-42743.2544400611,-42728.5349218228,-42713.8111040117,-42699.0411303685,-42684.2045208357,-42669.2660909863,-42654.2154436195,-42639.0316979160,-42623.7189748933,-42608.2762363822,-42592.7226083758,-42577.0783780712,-42561.3725906756,-42545.6426192510,-42529.9184046676,-42514.2442409861,-42498.6411311338,-42483.1478648443,-42467.7692436168,-42452.5290592165,-42437.4135858108,-42422.4287357537,-42407.5439490629,-42392.7503618681,//1883
	-42378.0055266615,-42363.2920972195,-42348.5627685617,-42333.7992937613,-42318.9572486512,-42304.0252489170,-42288.9690837281,-42273.7909868967,-42258.4728488351,-42243.0341617594,-42227.4760389432,-42211.8335766159,-42196.1256705440,-42180.3949796004,-42164.6720868071,-42148.9951026150,-42133.3964855710,-42117.8991001234,-42102.5269272315,-42087.2820564596,-42072.1737825537,-42057.1838403233,-42042.3060686273,-42027.5068171214,//1884
	-42012.7683681275,-41998.0487284307,-41983.3252150878,-41968.5552016829,-41953.7187268104,-41938.7799398370,-41923.7294299476,-41908.5441782819,-41893.2319617539,-41877.7858093045,-41862.2336367801,-41846.5840485178,-41830.8813538231,-41815.1453493266,-41799.4261987279,-41783.7468850329,-41768.1499398258,-41752.6529568803,-41737.2804274794,-41722.0376991777,-41706.9276788596,-41691.9405845782,-41677.0603361304,-41662.2638267337,//1885
	-41647.5225631382,-41632.8051310251,-41618.0787219490,-41603.3105178163,-41588.4712633201,-41573.5347229519,-41558.4816634374,-41543.3001423539,-41527.9850854124,-41512.5446064402,-41496.9884886325,-41481.3461721998,-41465.6380405458,-41449.9095578804,-41434.1840233540,-41418.5110902552,-41402.9081651250,-41387.4158744993,-41372.0385320687,-41356.7989266182,-41341.6851019799,-41326.7001849183,-41311.8166921929,-41297.0221717869,//1886
	-41282.2778492991,-41267.5627378543,-41252.8333351753,-41238.0679683418,-41223.2259616142,-41208.2924726064,-41193.2371600525,-41178.0581146561,-41162.7418580858,-41147.3022863980,-41131.7467826202,-41116.1028537044,-41100.3976554608,-41084.6647377416,-41068.9439647981,-41053.2642899065,-41037.6669491503,-41022.1670156596,-41006.7956334331,-40991.5489543041,-40976.4416621130,-40961.4508674093,-40946.5745534780,-40931.7750021679,//1887
	-40917.0382669312,-40902.3183499568,-40887.5965254294,-40872.8260155785,-40857.9911048976,-40843.0518283362,-40828.0028094448,-40812.8175105992,-40797.5065275432,-40782.0609565024,-40766.5091545555,-40750.8605346575,-40735.1566466011,-40719.4215140015,-40703.6993044711,-40688.0203850413,-40672.4192176242,-40656.9225608515,-40641.5459943905,-40626.3043218395,-40611.1913803329,-40596.2064969709,-40581.3246100395,-40566.5314128210,//1888
	-40551.7894236207,-40537.0759402497,-40522.3490664403,-40507.5847893756,-40492.7446341335,-40477.8112832192,-40462.7563308792,-40447.5768591421,-40432.2591093919,-40416.8197320286,-40401.2611106742,-40385.6192585546,-40369.9097002661,-40354.1809544545,-40338.4550709106,-40322.7808149234,-40307.1781173807,-40291.6834685581,-40276.3068041541,-40261.0645786063,-40245.9522175430,-40230.9652295892,-40216.0841484695,-40201.2884208165,//1889
	-40186.5472666753,-40171.8315941760,-40157.1056286347,-40142.3397358494,-40127.5008266546,-40112.5660940138,-40097.5131591016,-40082.3317745666,-40067.0173448289,-40051.5747184052,-40036.0210144156,-40020.3741477510,-40004.6708647415,-39988.9358410952,-39973.2167966218,-39957.5361196241,-39941.9397574088,-39926.4393828263,-39911.0676374785,-39895.8202584584,-39880.7112240335,-39865.7193156886,-39850.8407443394,-39836.0403481232,//1890
	-39821.3021148600,-39806.5824714615,-39791.8607041713,-39777.0918342280,-39762.2583050501,-39747.3216246995,-39732.2743550378,-39717.0919570024,-39701.7819404400,-39686.3391726281,-39670.7869853384,-39655.1411357195,-39639.4356620521,-39623.7032169011,-39607.9786615282,-39592.3020124601,-39576.6982595731,-39561.2030487439,-39545.8236883949,-39530.5821458156,-39515.4659043298,-39500.4800305687,-39485.5945533357,-39470.8002615488,//1891
	-39456.0551558450,-39441.3416270597,-39426.6129027351,-39411.8503054931,-39397.0099942789,-39382.0799725483,-39367.0263725691,-39351.8509519643,-39336.5352422668,-39321.0990248453,-39305.5419654445,-39289.9008890234,-39274.1920062017,-39258.4615201867,-39242.7360676121,-39227.0585691760,-39211.4567873613,-39195.9586948725,-39180.5836067409,-39165.3383291763,-39150.2278220933,-39135.2379220192,-39120.3584716580,-39105.5596473827,//1892
	-39090.8198894182,-39076.1011000956,-39061.3767543498,-39046.6082373927,-39031.7717265090,-39016.8353169596,-39001.7857907868,-38986.6037343441,-38971.2933253971,-38955.8505084630,-38940.3002725053,-38924.6529048706,-38908.9513326828,-38893.2154061562,-38877.4961348688,-38861.8147842483,-38846.2168210971,-38830.7165980129,-38815.3428315620,-38800.0967913770,-38784.9861188222,-38769.9964512115,-38755.1165152086,-38740.3183371650,//1893
	-38725.5781902315,-38710.8597555583,-38696.1349851663,-38681.3662472889,-38666.5290900392,-38651.5925060210,-38636.5421071711,-38621.3610990719,-38606.0492687676,-38590.6097823043,-38575.0571266910,-38559.4158846166,-38543.7104999734,-38527.9824557230,-38512.2578128855,-38496.5841259205,-38480.9799693669,-38465.4859267346,-38450.1058910986,-38434.8642005006,-38419.7473412246,-38404.7608381422,-38389.8750020037,-38375.0800074305,//1894
	-38360.3345189662,-38345.6200935665,-38330.8905819952,-38316.1267023928,-38301.2852185431,-38286.3536599204,-38271.2990995728,-38256.1223257802,-38240.8068145870,-38225.3699098606,-38209.8150654957,-38194.1741039877,-38178.4693704504,-38162.7391826620,-38147.0182698384,-38131.3400958125,-38115.7415374039,-38100.2413664826,-38084.8676963857,-38069.6194093383,-38054.5093068913,-38039.5163984642,-38024.6375262525,-38009.8364118545,//1895
	-37995.0981073113,-37980.3779077827,-37965.6558091828,-37950.8863362942,-37936.0522132456,-37921.1147526640,-37906.0670845032,-37890.8836855658,-37875.5742632993,-37860.1301602249,-37844.5800938772,-37828.9322819036,-37813.2303792429,-37797.4954775754,-37781.7753726945,-37766.0960562086,-37750.4965316718,-37734.9985367485,-37719.6225104133,-37704.3784317724,-37689.2649104378,-37674.2768599205,-37659.3938350200,-37644.5974064421,//1896
	-37629.8545790571,-37615.1385990312,-37600.4119591604,-37585.6464316845,-37570.8078608187,-37555.8744657552,-37540.8220748110,-37525.6432650675,-37510.3282562731,-37494.8897071065,-37479.3332654423,-37463.6921347897,-37447.9837561999,-37432.2557362637,-37416.5301212099,-37400.8568462072,-37385.2538213371,-37369.7603019585,-37354.3826413437,-37339.1411816257,-37324.0269838392,-37309.0400455049,-37294.1563833970,-37279.3601461900,//1897
	-37264.6161116236,-37249.8999281682,-37235.1714721328,-37220.4057723328,-37205.5653888355,-37190.6320517159,-37175.5788166137,-37160.3999618746,-37145.0859191884,-37129.6462558667,-37114.0928858528,-37098.4484928112,-37082.7450470574,-37067.0114516706,-37051.2918389434,-37035.6115657433,-37020.0147829293,-37004.5143018232,-36989.1426424019,-36973.8949779867,-36958.7863332817,-36943.7938499468,-36928.9154808838,-36914.1140783342,//1898
	-36899.3755777138,-36884.6545567131,-36869.9321642131,-36855.1618514427,-36840.3278560369,-36825.3901547578,-36810.3432233028,-36795.1605461713,-36779.8519431970,-36764.4093962413,-36748.8593165141,-36733.2134512464,-36717.5100025065,-36701.7767757150,-36686.0535159753,-36670.3753111705,-36654.7719966732,-36639.2750266963,-36623.8957341039,-36608.6529905167,-36593.5371175233,-36578.5508249166,-36563.6661590937,-36548.8718406054,//1899
	-36534.1276409822,-36519.4139246734,-36504.6858228842,-36489.9225634536,-36475.0824782428,-36460.1514860181,-36445.0979116529,-36429.9217544961,-36414.6061868023,-36399.1700067382,-36383.6132564883,-36367.9729777032,-36352.2640636777,-36336.5346328233,-36320.8082576782,-36305.1315520500,-36289.5279089630,-36274.0301196301,-36258.6526580675,-36243.4075384025,-36228.2949584401,-36213.3057452506,-36198.4251198832,-36183.6278915579,//1900
	-36168.8878094557,-36154.1712683210,-36139.4469072050,-36124.6806531302,-36109.8438192037,-36094.9091163710,-36079.8586269013,-36064.6775387264,-36049.3656762306,-36033.9233381340,-36018.3717701047,-36002.7246948100,-35987.0223867216,-35971.2864149991,-35955.5668394474,-35939.8846512286,-35924.2864742272,-35908.7845529296,-35893.4104625838,-35878.1621853711,-35863.0512327537,-35848.0593856055,-35833.1797178506,-35818.3801278334,//1901
	-35803.6412638684,-35788.9225346833,-35774.2000519481,-35759.4318379024,-35744.5974389353,-35729.6614338930,-35714.6135084929,-35699.4323361991,-35684.1221335942,-35668.6813934652,-35653.1295005025,-35637.4862643891,-35621.7811638794,-35606.0511671193,-35590.3264901553,-35574.6512102470,-35559.0464998169,-35543.5511020107,-35528.1699073448,-35512.9269731943,-35497.8085941562,-35482.8210024299,-35467.9337606095,-35453.1381866640,//1902
	-35438.3920110078,-35423.6779805580,-35408.9489434399,-35394.1866142970,-35379.3466674817,-35364.4174545663,-35349.3647440937,-35334.1903581390,-35318.8759434112,-35303.4407266544,-35287.8854081855,-35272.2450616741,-35256.5382555704,-35240.8079244679,-35225.0842052655,-35209.4056770498,-35193.8044626503,-35178.3039244996,-35162.9280050751,-35147.6793506519,-35132.5673341626,-35117.5740400926,-35102.6934776951,-35087.8921447296,//1903
	-35073.1524905731,-35058.4326140023,-35043.7098327550,-35028.9415835561,-35014.1077490735,-34999.1724679135,-34984.1260042360,-34968.9452509932,-34953.6374078493,-34938.1954415047,-34922.6465839891,-34906.9993306825,-34891.2976822211,-34875.5613299726,-34859.8405725037,-34844.1584462047,-34828.5580611755,-34813.0569744949,-34797.6804168686,-34782.4336396729,-34767.3201186041,-34752.3298883676,-34737.4473101622,-34722.6490801612,//1904
	-34707.9069900617,-34693.1895119500,-34678.4639431473,-34663.6973581511,-34648.8604430474,-34633.9266731017,-34618.8767260157,-34603.6982899424,-34588.3862910654,-34572.9485680329,-34557.3949592222,-34541.7544824434,-34526.0476701957,-34510.3194565913,-34494.5933308291,-34478.9187911105,-34463.3134793652,-34447.8182216304,-34432.4375507913,-34417.1947306542,-34402.0778403671,-34387.0904448188,-34372.2049487464,-34357.4091859927,//1905
	-34342.6641098144,-34327.9489954967,-34313.2199745722,-34298.4556336257,-34283.6149633022,-34268.6832677429,-34253.6300128989,-34238.4532855726,-34223.1394685974,-34207.7024499029,-34192.1493715632,-34176.5077100821,-34160.8043115892,-34145.0727381776,-34129.3524079821,-34113.6725227028,-34098.0739382440,-34082.5720873979,-34067.1979314657,-34051.9479967413,-34036.8370049155,-34021.8424369229,-34006.9626110983,-33992.1601285690,//1906
	-33977.4213406055,-33962.7004120336,-33947.9786257930,-33933.2091579623,-33918.3761883017,-33903.4395247214,-33888.3937594242,-33873.2119642955,-33857.9047192997,-33842.4627906900,-33826.9144248598,-33811.2687993832,-33795.5673715976,-33779.8339172833,-33764.1125446418,-33748.4333588972,-33732.8309913293,-33717.3319257070,-33701.9521814749,-33686.7064657713,-33671.5892360328,-33656.5998049139,-33641.7138596982,-33626.9170585361,//1907
	-33612.1725523492,-33597.4575601172,-33582.7305122439,-33567.9672081160,-33553.1292383327,-33538.1989096701,-33523.1477625756,-33507.9723912196,-33492.6588620877,-33477.2233877075,-33461.6679868031,-33446.0284464646,-33430.3201274485,-33414.5916757052,-33398.8652243876,-33383.1898005450,-33367.5854297441,-33352.0887053705,-33336.7095552711,-33321.4646930386,-33306.3494571341,-33291.3597125953,-33276.4759632520,-33261.6780522938,//1908
	-33246.9351418873,-33232.2186010130,-33217.4924253629,-33202.7274180788,-33187.8900597508,-33172.9577954901,-33157.9076943499,-33142.7295801431,-33127.4182411840,-33111.9785938198,-33096.4271773655,-33080.7819911177,-33065.0795004830,-33049.3444810320,-33033.6247050375,-33017.9427328707,-33002.3447931380,-32986.8426501072,-32971.4691169745,-32956.2200505720,-32941.1093726491,-32926.1159355125,-32911.2359442268,-32896.4341567017,//1909
	-32881.6946015089,-32866.9736539689,-32852.2507380402,-32837.4809974060,-32822.6471400439,-32807.7107645756,-32792.6646739937,-32777.4840881147,-32762.1765947621,-32746.7365794299,-32731.1874106952,-32715.5442145529,-32699.8411902801,-32684.1103985349,-32668.3868545718,-32652.7103225808,-32637.1060201517,-32621.6096149511,-32606.2286663557,-32590.9853580589,-32575.8672757419,-32560.8795962252,-32545.9924820556,-32531.1966130937,//1910
	-32516.4502054845,-32501.7355074529,-32487.0059873325,-32472.2428730237,-32457.4025920062,-32442.4730380844,-32427.4206046902,-32412.2468580203,-32396.9333956535,-32381.4998006641,-32365.9454598826,-32350.3070417914,-32334.6003524010,-32318.8715924883,-32303.1468032202,-32287.4691617821,-32271.8660146730,-32256.3657868234,-32240.9878453108,-32225.7396321459,-32210.6262680757,-32195.6340292085,-32180.7528654730,-32165.9530787862,//1911
	-32151.2130904574,-32136.4948046116,-32121.7714653660,-32107.0045035961,-32092.1697522522,-32077.2354349986,-32062.1879756505,-32047.0081627273,-32031.6997621238,-32016.2589986694,-32000.7103518486,-31985.0642528431,-31969.3633075880,-31953.6272984870,-31937.9071783781,-31922.2241875104,-31906.6240873303,-31891.1210842621,-31875.7444563835,-31860.4953510529,-31845.3819493148,-31830.3898414441,-31815.5082448189,-31800.7091109069,//1912
	-31785.9689979654,-31771.2514592885,-31756.5284312496,-31741.7620603696,-31726.9276472281,-31711.9937797826,-31696.9458919714,-31681.7667712873,-31666.4563539298,-31651.0176040653,-31635.4653811475,-31619.8240335502,-31604.1184502715,-31588.3896825241,-31572.6641087736,-31556.9890368784,-31541.3832268513,-31525.8872258672,-31510.5050812678,-31495.2613512540,-31480.1424960253,-31465.1543789984,-31450.2672257019,-31435.4715206583,//1913
	-31420.7258062381,-31406.0119128503,-31391.2834694232,-31376.5213483081,-31361.6820138986,-31346.7529219882,-31331.7009111295,-31316.5265121042,-31301.2130529732,-31285.7777462164,-31270.2238732375,-31254.5833777445,-31238.8784771461,-31223.1477865253,-31207.4257857719,-31191.7464026418,-31176.1461347968,-31160.6441418808,-31145.2682111862,-31130.0175139403,-31114.9046748499,-31099.9090203791,-31085.0275361921,-31070.2242544524,//1914
	-31055.4844700878,-31040.7637034559,-31026.0420148123,-31011.2740115912,-30996.4423299153,-30981.5081488571,-30966.4644279616,-30951.2852418540,-30935.9800318996,-30920.5397688389,-30904.9927872311,-30889.3471474495,-30873.6463003040,-30857.9112928530,-30842.1900390557,-30826.5085577716,-30810.9062733958,-30795.4048088787,-30780.0251716189,-30764.7771742521,-30749.6599730993,-30734.6683153545,-30719.7823401854,-30704.9834175333,//1915
	-30690.2390821275,-30675.5223805196,-30660.7961481762,-30646.0319701806,-30631.1958536229,-30616.2657332090,-30601.2174746224,-30586.0431907995,-30570.7329346887,-30555.2987838237,-30539.7459507002,-30524.1071874771,-30508.3997585323,-30492.6711467959,-30476.9436557423,-30461.2674254685,-30445.6607599381,-30430.1632131822,-30414.7814443008,-30399.5362217129,-30384.4186241677,-30369.4289974124,-30354.5432410079,-30339.7457281858,//1916
	-30325.0010535212,-30310.2851039669,-30295.5574360124,-30280.7933816706,-30265.9550489943,-30251.0244503110,-30235.9741767083,-30220.7986852198,-30205.4879420137,-30190.0516021624,-30174.5010317859,-30158.8589095674,-30143.1567674976,-30127.4234685462,-30111.7029566716,-30096.0207527137,-30080.4210928647,-30064.9171228314,-30049.5415945176,-30034.2901828756,-30019.1780411029,-30004.1827068668,-29989.3021798295,-29974.4993191283,//1917
	-29959.7599895440,-29945.0386221847,-29930.3163019114,-29915.5464747452,-29900.7134166346,-29885.7771418910,-29870.7322177517,-29855.5519528327,-29840.2462696831,-29824.8068199991,-29809.2601113729,-29793.6173968860,-29777.9169719912,-29762.1860287567,-29746.4643195503,-29730.7865294457,-29715.1825635777,-29699.6837317367,-29684.3016540312,-29669.0553631481,-29653.9355740551,-29638.9452376448,-29624.0569284790,-29609.2593850621,//1918
	-29594.5128860201,-29579.7976010836,-29565.0689860689,-29550.3059885770,-29535.4670786301,-29520.5378615087,-29505.4867516285,-29490.3133859637,-29475.0009838735,-29459.5680611667,-29444.0145446937,-29428.3773632054,-29412.6711818943,-29396.9440985540,-29381.2191468048,-29365.5430521702,-29349.9387093983,-29334.4391531391,-29319.0588202923,-29303.8101900545,-29288.6935888952,-29273.7003453224,-29258.8158881040,-29244.0154275111,//1919
	-29229.2729084208,-29214.5550152974,-29199.8303304710,-29185.0649756149,-29170.2298945306,-29155.2978960902,-29140.2505182611,-29125.0729855613,-29109.7645076572,-29094.3255044309,-29078.7765921508,-29063.1316885703,-29047.4307348429,-29031.6954194276,-29015.9757768261,-29000.2928937734,-28984.6935806964,-28969.1899135252,-28953.8138293914,-28938.5631013931,-28923.4495571234,-28908.4549358934,-28893.5726523200,-28878.7706526838,//1920
	-28864.0299122368,-28849.3099510260,-28834.5870542191,-28819.8193072605,-28804.9861576638,-28790.0519812642,-28775.0062734068,-28759.8273006866,-28744.5192866776,-28729.0803607102,-28713.5300904534,-28697.8879030429,-28682.1836274092,-28666.4537785960,-28650.7290000332,-28635.0531870444,-28619.4478359962,-28603.9516297702,-28588.5696516150,-28573.3259746719,-28558.2067762612,-28543.2184083402,-28528.3302427963,-28513.5337405580,//1921
	-28498.7865456928,-28484.0715917181,-28469.3417354693,-28454.5788862275,-28439.7387889780,-28424.8098490307,-28409.7579572556,-28394.5847272024,-28379.2718551669,-28363.8383074389,-28348.2845799947,-28332.6456609715,-28316.9398329796,-28301.2101314120,-28285.4863713961,-28269.8075512639,-28254.2054552965,-28238.7039498197,-28223.3267214320,-28208.0767912650,-28192.9632879009,-28177.9686088443,-28163.0867022126,-28148.2842808419,//1922
	-28133.5438493634,-28118.8236162105,-28104.1008727945,-28089.3331410676,-28074.5002343815,-28059.5663685856,-28044.5217435513,-28029.3432077832,-28014.0378101969,-27998.5984482057,-27983.0519330593,-27967.4067406091,-27951.7064643124,-27935.9707071504,-27920.2496707094,-27904.5663359465,-27888.9640673430,-27873.4603181051,-27858.0809059039,-27842.8309942439,-27827.7147114484,-27812.7219923085,-27797.8377818409,-27783.0385075388,//1923
	-27768.2963786663,-27753.5794854573,-27738.8553191197,-27724.0906031703,-27709.2560642327,-27694.3248669653,-27679.2777274220,-27664.1020104702,-27648.7926761474,-27633.3571949482,-27617.8052721535,-27602.1656202454,-27586.4588190354,-27570.7295876866,-27555.0017774188,-27539.3248395861,-27523.7167526156,-27508.2184059845,-27492.8345686722,-27477.5887876957,-27462.4691923062,-27447.4797325047,-27432.5928075559,-27417.7965456278,//1924
	-27403.0518032046,-27388.3380318094,-27373.6110181674,-27358.8494767317,-27344.0118191982,-27329.0834547531,-27314.0332672979,-27298.8594119958,-27283.5478635096,-27268.1126075934,-27252.5604998391,-27236.9191878461,-27221.2153519219,-27205.4827058135,-27189.7605684621,-27174.0784213018,-27158.4770308563,-27142.9722151341,-27127.5949168317,-27112.3421092610,-27097.2284492667,-27082.2317946048,-27067.3504213145,-27052.5470292034,//1925
	-27037.8079356741,-27023.0873028783,-27008.3663853021,-26993.5984339997,-26978.7675563443,-26963.8335601374,-26948.7908860811,-26933.6123090916,-26918.3083019375,-26902.8692166352,-26887.3233134155,-26871.6794343439,-26855.9791965505,-26840.2461187435,-26824.5244958795,-26808.8443068523,-26793.2403506295,-26777.7389991340,-26762.3565738327,-26747.1077477705,-26731.9873373444,-26716.9946604035,-26702.1058755008,-26687.3064939735,//1926
	-26672.5602148361,-26657.8440228524,-26643.1168103508,-26628.3541460991,-26613.5179048168,-26598.5900905421,-26583.5423435845,-26568.3707619702,-26553.0613676703,-26537.6298199675,-26522.0779256248,-26506.4411531686,-26490.7346440385,-26475.0069996830,-26459.2800886171,-26443.6032038140,-26427.9962619968,-26412.4962446478,-26397.1132920932,-26381.8645226995,-26366.7454037644,-26351.7521597584,-26336.8653398585,-26322.0650681363,//1927
	-26307.3205367015,-26292.6033460794,-26277.8773616404,-26263.1136398034,-26248.2783384908,-26233.3491465016,-26218.3026525674,-26203.1288078682,-26187.8217613125,-26172.3864734456,-26156.8386737271,-26141.1964258766,-26125.4955718624,-26109.7609374966,-26094.0401247017,-26078.3559094501,-26062.7548100688,-26047.2487853223,-26031.8712314834,-26016.6181580656,-26001.5038440000,-25986.5072998867,-25971.6248608487,-25956.8213439403,//1928
	-25942.0808332584,-25927.3597120559,-25912.6373812804,-25897.8689508234,-25883.0369472807,-25868.1028102826,-25853.0591988006,-25837.8811006323,-25822.5762124635,-25807.1386608012,-25791.5919832918,-25775.9508433112,-25760.2496225300,-25744.5196978686,-25728.7963647488,-25713.1189780938,-25697.5130531393,-25682.0141950514,-25666.6303821946,-25651.3840105561,-25636.2629162790,-25621.2726057802,-25606.3833052668,-25591.5858348397,//1929
	-25576.8384148021,-25562.1232442227,-25547.3937952970,-25532.6311705989,-25517.7918380355,-25502.8635049205,-25487.8127058304,-25472.6407201850,-25457.3293436882,-25441.8979317695,-25426.3458511547,-25410.7097043747,-25395.0050347472,-25379.2780156346,-25363.5542450074,-25347.8771119447,-25332.2734211755,-25316.7719687367,-25301.3917571583,-25286.1406500045,-25271.0236504347,-25256.0276415633,-25241.1427672825,-25226.3398575457,//1930
	-25211.5975880711,-25196.8780708537,-25182.1545518234,-25167.3884550358,-25152.5553943278,-25137.6235411700,-25122.5790012092,-25107.4024820046,-25092.0974031485,-25076.6600197920,-25061.1143477703,-25045.4710141987,-25029.7722261216,-25014.0378023305,-24998.3185200463,-24982.6355160450,-24967.0345748751,-24951.5296928783,-24936.1505277189,-24920.8980216709,-24905.7809477452,-24890.7848258783,-24875.8995585527,-24861.0970531151,//1931
	-24846.3545061475,-24831.6353793066,-24816.9119763239,-24802.1463015658,-24787.3136673796,-24772.3824225941,-24757.3378299999,-24742.1622879658,-24726.8555483917,-24711.4200465228,-24695.8704588078,-24680.2307499353,-24664.5259979813,-24648.7970478889,-24633.0708446386,-24617.3945811005,-24601.7873812249,-24586.2896808056,-24570.9056850635,-24555.6599830164,-24540.5390083272,-24525.5488423412,-24510.6596694949,-24495.8622509926,//1932
	-24481.1151424636,-24466.4004619005,-24451.6717716892,-24436.9102376347,-24422.0720511346,-24407.1448611914,-24392.0951038575,-24376.9232733482,-24361.6123422258,-24346.1793438006,-24330.6272621545,-24314.9879773313,-24299.2835046481,-24283.5525777672,-24267.8296113167,-24252.1489567457,-24236.5470041189,-24221.0434461553,-24205.6659093184,-24190.4139680548,-24175.2999666416,-24160.3034927889,-24145.4212495359,-24130.6173064239,//1933
	-24115.8767807633,-24101.1552403687,-24086.4327405211,-24071.6641589149,-24056.8322143990,-24041.8983846908,-24026.8556435302,-24011.6780237031,-23996.3749267652,-23980.9369980413,-23965.3924641439,-23949.7490633453,-23934.0501010462,-23918.3163788769,-23902.5957536783,-23886.9141451847,-23871.3111142859,-23855.8082476222,-23840.4269906280,-23825.1770953997,-23810.0581655029,-23795.0648079353,-23780.1775517049,-23765.3774245564,//1934
	-23750.6323874521,-23735.9150586131,-23721.1886928916,-23706.4245307769,-23691.5889399965,-23676.6596093887,-23661.6127001582,-23646.4400414339,-23631.1318986845,-23615.6999769711,-23600.1494539754,-23584.5127932043,-23568.8070515081,-23553.0794895413,-23537.3521499388,-23521.6751428325,-23506.0667136793,-23490.5666249633,-23475.1818618137,-23459.9335706046,-23444.8130868588,-23429.8211724619,-23414.9337743466,-23400.1355313146,//1935
	-23385.3909357654,-23370.6759576564,-23355.9498496868,-23341.1880124275,-23326.3520856289,-23311.4242358777,-23296.3765353839,-23281.2036574776,-23265.8950969986,-23250.4607698102,-23234.9115351094,-23219.2703691545,-23203.5683545830,-23187.8345174222,-23172.1126174837,-23156.4283582574,-23140.8260657687,-23125.3190388082,-23109.9403437693,-23094.6858222680,-23079.5708119829,-23064.5731755604,-23049.6909788087,-23034.8873515729,//1936
	-23020.1481805312,-23005.4279675186,-22990.7076748484,-22975.9405970521,-22961.1106393285,-22946.1775054179,-22931.1354113376,-22915.9573886978,-22900.6533770303,-22885.2148774475,-22869.6686746287,-22854.0258357441,-22838.3250492687,-22822.5931108419,-22806.8702178884,-22791.1907375894,-22775.5848555082,-22760.0837625952,-22744.6993786257,-22729.4507683268,-22714.3288188235,-22699.3366385624,-22684.4469062479,-22669.6484229361,//1937
	-22654.9016674539,-22640.1867100971,-22625.4592358745,-22610.6979432157,-22595.8614263443,-22580.9348902099,-22565.8867901723,-22550.7162225146,-22535.4064700357,-22519.9755927872,-22504.4235185621,-22488.7870710617,-22473.0808864012,-22457.3532295720,-22441.6270595388,-22425.9495293327,-22410.3432198076,-22394.8415816136,-22379.4587126251,-22364.2073648911,-22349.0876886436,-22334.0914460068,-22319.2041436248,-22304.4014198454,//1938
	-22289.6574033400,-22274.9389967080,-22260.2148162846,-22245.4510849365,-22230.6185783387,-22215.6901547163,-22200.6469240271,-22185.4740338548,-22170.1700772161,-22154.7353931961,-22139.1898443669,-22123.5474787383,-22107.8476684745,-22092.1122739916,-22076.3912548368,-22060.7059371580,-22045.1033790822,-22029.5958203242,-22014.2156899461,-21998.9606954046,-21983.8431819111,-21968.8447905631,-21953.9594020260,-21939.1548633180,//1939
	-21924.4125599537,-21909.6918983480,-21894.9694068261,-21880.2031046488,-21865.3724294541,-21850.4416936927,-21835.4002212891,-21820.2260024874,-21804.9230071134,-21789.4887067781,-21773.9423659778,-21758.3027517262,-21742.5997528046,-21726.8694390679,-21711.1430274818,-21695.4642516721,-21679.8552091927,-21664.3547030007,-21648.9683851859,-21633.7205680589,-21618.5977151416,-21603.6064140985,-21588.7160298314,-21573.9181654144,//1940
	-21559.1703603770,-21544.4556252209,-21529.7266608455,-21514.9654632901,-21500.1275325212,-21485.2013465049,-21470.1525557444,-21454.9826964319,-21439.6733367914,-21424.2431730924,-21408.6925167167,-21393.0561149390,-21377.3519133293,-21361.6228728733,-21345.8985219109,-21330.2181539201,-21314.6133027089,-21299.1084765649,-21283.7272893194,-21268.4734714215,-21253.3561426697,-21238.3582971433,-21223.4737611825,-21208.6694643260,//1941
	-21193.9277121694,-21179.2067369092,-21164.4837086745,-21149.7162790602,-21134.8841957407,-21119.9518514226,-21104.9093282157,-21089.7334512629,-21074.4311897687,-21058.9952595473,-21043.4523417545,-21027.8107513013,-21012.1137444475,-20996.3807176189,-20980.6615380598,-20964.9789631255,-20949.3762716706,-20933.8707549825,-20918.4886156681,-20903.2349382233,-20888.1144943768,-20873.1172786407,-20858.2289289279,-20843.4258467066,//1942
	-20828.6808953115,-20813.9619258121,-20799.2369007695,-20784.4721822870,-20769.6387420533,-20754.7093725886,-20739.6648819614,-20724.4922424444,-20709.1864718369,-20693.7546253486,-20678.2063772901,-20662.5701780906,-20646.8664776027,-20631.1397036521,-20615.4135436171,-20599.7371531376,-20584.1284905299,-20568.6283845154,-20553.2418835216,-20537.9927258090,-20522.8692747002,-20507.8758886557,-20492.9851145847,-20478.1855326115,//1943
	-20463.4381551466,-20448.7227425737,-20433.9950889111,-20419.2340852235,-20404.3978601038,-20389.4719254046,-20374.4246333140,-20359.2541959247,-20343.9460066603,-20328.5140895902,-20312.9647501440,-20297.3257794897,-20281.6234512154,-20265.8916484790,-20250.1695683574,-20234.4869159627,-20218.8844279861,-20203.3781028536,-20187.9989046587,-20172.7439541919,-20157.6278281521,-20142.6287169037,-20127.7447960791,-20112.9391399090,//1944
	-20098.1980884405,-20083.4760887887,-20068.7544499736,-20053.9865528233,-20039.1563553493,-20024.2236221201,-20009.1825282836,-19994.0057206893,-19978.7035766746,-19963.2662601910,-19947.7220825062,-19932.0795901417,-19916.3805518427,-19900.6480838062,-19884.9268192717,-19869.2464940833,-19853.6421830318,-19838.1402000604,-19822.7571296866,-19807.5075550038,-19792.3864095843,-19777.3929350400,-19762.5033523741,-19747.7030200568,//1945
	-19732.9558786582,-19718.2386731730,-19703.5107047033,-19688.7473021666,-19673.9107696290,-19658.9829004521,-19643.9356832720,-19628.7649096049,-19613.4568508345,-19598.0267519112,-19582.4764683046,-19566.8411788409,-19551.1359113982,-19535.4091681396,-19519.6826437761,-19504.0058484625,-19488.3983941257,-19472.8976333385,-19457.5134942478,-19442.2633467015,-19427.1426005160,-19412.1478124667,-19397.2595454432,-19382.4582092372,//1946
	-19367.7129962692,-19352.9956019756,-19338.2697920814,-19323.5067031511,-19308.6723075246,-19293.7444946917,-19278.6995617832,-19263.5276921019,-19248.2226611998,-19232.7896251276,-19217.2437494070,-19201.6033410713,-19185.9036267118,-19170.1695817958,-19154.4485089388,-19138.7633015908,-19123.1604609802,-19107.6520515886,-19092.2718198946,-19077.0157801040,-19061.8987338347,-19046.8997460738,-19032.0155566553,-19017.2109891862,//1947
	-19002.4703361873,-18987.7498484849,-18973.0289178224,-18958.2624961458,-18943.4329006255,-18928.5014709460,-18913.4606200745,-18898.2851911565,-18882.9827581267,-18867.5470724696,-18852.0016828644,-18836.3608890605,-18820.6593579348,-18804.9281460229,-18789.2031426553,-18773.5234114022,-18757.9149380641,-18742.4132136694,-18727.0266343391,-18711.7775949478,-18696.6542078542,-18681.6621298922,-18666.7716826754,-18651.9738776549,//1948
	-18637.2269342372,-18622.5131038224,-18607.7857377388,-18593.0258201340,-18578.1895497586,-18563.2644025770,-18548.2166578508,-18533.0472718336,-18517.7380227599,-18502.3079374138,-18486.7565043055,-18471.1202700515,-18455.4147845913,-18439.6864045250,-18423.9606599452,-18408.2812933788,-18392.6748698023,-18377.1707319499,-18361.7876450586,-18346.5340057466,-18331.4146152428,-18316.4168307161,-18301.5305317631,-18286.7268089068,//1949
	-18271.9841390935,-18257.2647867649,-18242.5419581650,-18227.7772505585,-18212.9461982853,-18198.0170597056,-18182.9756222742,-18167.8024621179,-18152.5006303962,-18137.0661905738,-18121.5228413516,-18105.8812571158,-18090.1833373729,-18074.4491103114,-18058.7292462366,-18043.0450104137,-18027.4422550764,-18011.9349672765,-17996.5531078953,-17981.2974661768,-17966.1772844602,-17951.1779727943,-17936.2899395127,-17921.4849558547,//1950
	-17906.7407620733,-17892.0205757288,-17877.2971963745,-17862.5323438265,-17847.7016445812,-17832.7731476817,-17817.7321619057,-17802.5606702084,-17787.2583013335,-17771.8269116541,-17756.2809998321,-17740.6440776851,-17724.9411127494,-17709.2126111872,-17693.4856808730,-17677.8073377031,-17662.1971645434,-17646.6957176560,-17631.3077602049,-17616.0580656401,-17600.9333310760,-17585.9398660913,-17571.0478869231,-17556.2483999901,//1951
	-17541.4999886200,-17526.7849025504,-17512.0566912184,-17497.2966014328,-17482.4606485413,-17467.5365967393,-17452.4904838338,-17437.3228897230,-17422.0162459024,-17406.5874932111,-17391.0390164940,-17375.4025741864,-17359.6996591212,-17343.9690074081,-17328.2448486301,-17312.5618362268,-17296.9564032266,-17281.4488268933,-17266.0669166247,-17250.8108253477,-17235.6929383823,-17220.6933580324,-17205.8086081119,-17191.0030946163,//1952
	-17176.2617382717,-17161.5402591848,-17146.8185411007,-17132.0514706049,-17117.2214676706,-17102.2899760473,-17087.2496597478,-17072.0745801640,-17056.7740585066,-17041.3386782464,-17025.7966839388,-17010.1555099616,-16994.4584153293,-16978.7257610170,-16963.0054826752,-16947.3232097807,-16931.7186510251,-16916.2133911752,-16900.8292625130,-16885.5761050611,-16870.4540004595,-16855.4576770924,-16840.5680215808,-16825.7659900546,//1953
	-16811.0198532714,-16796.3018920244,-16781.5756842206,-16766.8120218641,-16751.9775756351,-16737.0496294569,-16722.0045909302,-16706.8339114501,-16691.5281089913,-16676.0984995274,-16660.5504405641,-16644.9161038541,-16629.2125038718,-16613.4866872171,-16597.7604843536,-16582.0839862932,-16566.4750896322,-16550.9737134713,-16535.5866510244,-16520.3352120043,-16505.2108879479,-16490.2148908343,-16475.3234984986,-16460.5218839281,//1954
	-16445.7747868597,-16431.0584306750,-16416.3320594788,-16401.5711139163,-16386.7369822676,-16371.8118442544,-16356.7673150989,-16341.5981004825,-16326.2931766113,-16310.8625282802,-16295.3164534424,-16279.6781868603,-16263.9782496429,-16248.2459319638,-16232.5246531744,-16216.8402527716,-16201.2368935819,-16185.7279471290,-16170.3466398230,-16155.0887960890,-16139.9701296249,-16124.9686464416,-16110.0827456662,-16095.2758582211,//1955
	-16080.5341262962,-16065.8123100914,-16051.0914822452,-16036.3250609646,-16021.4967917787,-16006.5663578965,-15991.5276102736,-15976.3533676730,-15961.0531894305,-15945.6180842779,-15930.0746304045,-15914.4334889606,-15898.7335555580,-15883.0013993842,-15867.2778698712,-15851.5970875504,-15835.9897469836,-15820.4868555986,-15805.1006686597,-15789.8500770386,-15774.7261653988,-15759.7320206993,-15744.8403945793,-15730.0402130905,//1956
	-15715.2920551762,-15700.5761008819,-15685.8482022059,-15671.0870695406,-15656.2514148834,-15641.3263112349,-15626.2802387658,-15611.1119360883,-15595.8047286456,-15580.3761371808,-15564.8261289490,-15549.1911715165,-15533.4857857051,-15517.7582262337,-15502.0313906715,-15486.3527491626,-15470.7447799102,-15455.2415359259,-15439.8569250496,-15424.6041931648,-15409.4832180965,-15394.4860973863,-15379.5979208393,-15364.7944866885,//1957
	-15350.0496085649,-15335.3303242592,-15320.6052446575,-15305.8408458935,-15291.0080326228,-15276.0799502375,-15261.0376529131,-15245.8664255895,-15230.5646127106,-15215.1325198354,-15199.5895852249,-15183.9498788411,-15168.2521851613,-15152.5184665567,-15136.7983062260,-15121.1130776339,-15105.5097992393,-15090.0008208891,-15074.6188814995,-15059.3617130343,-15044.2421513851,-15029.2417509661,-15014.3547947489,-14999.5488963355,//1958
	-14984.8057873006,-14970.0845129257,-14955.3619260554,-14940.5957223604,-14925.7655968709,-14910.8357053920,-14895.7954941741,-14880.6228906512,-14865.3219083315,-14849.8897877546,-14834.3457808447,-14818.7082989019,-14803.0071354000,-14787.2778712945,-14771.5517956035,-14755.8721723311,-14740.2614710311,-14724.7584007296,-14709.3691624911,-14694.1181954797,-14678.9923891254,-14663.9985818834,-14649.1063274944,-14634.3074536041,//1959
	-14619.5595174580,-14604.8455199645,-14590.1180370499,-14575.3589250802,-14560.5234193499,-14545.5999283224,-14530.5537317738,-14515.3864281996,-14500.0792751404,-14484.6510047370,-14469.1017550955,-14453.4662787831,-14437.7623285075,-14422.0328892150,-14406.3073503980,-14390.6251863140,-14375.0177984182,-14359.5101658796,-14344.1258103940,-14328.8689931816,-14313.7487382153,-14298.7486065393,-14283.8622668925,-14269.0571356337,//1960
	-14254.3153571607,-14239.5954159255,-14224.8742354738,-14210.1094250687,-14195.2802464334,-14180.3509407022,-14165.3110624445,-14150.1374238036,-14134.8367845907,-14119.4019036874,-14103.8595630796,-14088.2180623700,-14072.5207842212,-14056.7870942769,-14041.0669706845,-14025.3831113140,-14009.7788219380,-13994.2713895254,-13978.8872135347,-13963.6313019600,-13948.5087861619,-13933.5095907741,-13918.6196828693,-13903.8153532890,//1961
	-13889.0698399857,-13874.3507459185,-13859.6264668154,-13844.8629628212,-13830.0315534702,-13815.1045230823,-13800.0628369480,-13784.8928958704,-13769.5898175672,-13754.1600932320,-13738.6135458046,-13722.9783013327,-13707.2749403794,-13691.5478592214,-13675.8208791528,-13660.1432870714,-13644.5330277981,-13629.0310192442,-13613.6422373869,-13598.3903623019,-13583.2639041159,-13568.2674278377,-13553.3737314414,-13538.5717778066,//1962
	-13523.8227531472,-13509.1066412010,-13494.3792728234,-13479.6196295784,-13464.7857170272,-13449.8630878355,-13434.8196903484,-13419.6537113557,-13404.3499204111,-13388.9222566435,-13373.3763135889,-13357.7399837805,-13342.0388896312,-13326.3072170099,-13310.5838997611,-13294.8990296590,-13279.2934116907,-13263.7834513682,-13248.4003833057,-13233.1415095180,-13218.0216695425,-13203.0192239251,-13188.1324065883,-13173.3245831831,//1963
	-13158.5820416120,-13143.8594945840,-13129.1381626903,-13114.3715901900,-13099.5435523909,-13084.6138976903,-13069.5765038777,-13054.4039354970,-13039.1061631260,-13023.6729049276,-13008.1321163074,-12992.4918595878,-12976.7939007940,-12961.0610281777,-12945.3383960439,-12929.6554585895,-12914.0479070425,-12898.5420643090,-12883.1551118383,-12867.9017407959,-12852.7773214878,-12837.7811811975,-12822.8896683964,-12808.0881627062,//1964
	-12793.3406127300,-12778.6236430468,-12763.8966314857,-12749.1346545391,-12734.3001390722,-12719.3745634083,-12704.3300481324,-12689.1620076175,-12673.8569075636,-12658.4294960723,-12642.8817956703,-12627.2485457449,-12611.5446787406,-12595.8184978957,-12580.0915599206,-12564.4134791744,-12548.8037023691,-12533.3001202234,-12517.9125319898,-12502.6589432053,-12487.5347785269,-12472.5371280564,-12457.6464364127,-12442.8433798926,//1965
	-12428.0969543662,-12413.3789306427,-12398.6530205211,-12383.8904165174,-12369.0570920974,-12354.1310056847,-12339.0882643346,-12323.9191149263,-12308.6170154173,-12293.1871980935,-12277.6444346824,-12262.0072166113,-12246.3101780099,-12230.5784826741,-12214.8589115475,-12199.1743481843,-12183.5710419236,-12168.0611012817,-12152.6783806811,-12137.4189478961,-12122.2980900376,-12107.2949621874,-12092.4068885685,-12077.5987848927,//1966
	-12062.8554641280,-12048.1331111732,-12033.4114610370,-12018.6452649523,-12003.8169196330,-11988.8875789633,-11973.8494693770,-11958.6773041122,-11943.3783950590,-11927.9462336738,-11912.4042647436,-11896.7664557837,-11881.0674850884,-11865.3379765719,-11849.6140124483,-11833.9341344409,-11818.3247284206,-11802.8210377437,-11787.4319314131,-11772.1797320462,-11757.0529623923,-11742.0573734607,-11727.1635861592,-11712.3628749226,//1967
	-11697.6136936734,-11682.8984925689,-11668.1707670022,-11653.4115399560,-11638.5769381320,-11623.6543463733,-11608.6097152667,-11593.4438346754,-11578.1381101255,-11562.7112675855,-11547.1626122979,-11531.5284169253,-11515.8241269625,-11500.0961027824,-11484.3698728971,-11468.6894574771,-11453.0813583297,-11437.5754165833,-11422.1901655738,-11406.9344579928,-11391.8127984805,-11376.8130040603,-11361.9246382955,-11347.1192746671,//1968
	-11332.3751732128,-11317.6549982043,-11302.9318247114,-11288.1674493923,-11273.3371744388,-11258.4093352701,-11243.3693953244,-11228.1980205441,-11212.8980194718,-11197.4654298996,-11181.9238160304,-11166.2836979033,-11150.5867944242,-11134.8531203338,-11119.1332434458,-11103.4485416455,-11087.8449095554,-11072.3365199654,-11056.9535599059,-11041.6967610879,-11026.5756707861,-11011.5754622618,-10996.6867555730,-10981.8810483751,//1969
	-10967.1363336915,-10952.4155199535,-10937.6918128056,-10922.9265986448,-10908.0959943547,-10893.1677470002,-10878.1275630708,-10862.9571263934,-10847.6563028776,-10832.2265360212,-10816.6824212996,-10801.0470683058,-10785.3454001940,-10769.6176962942,-10753.8910715630,-10738.2124352664,-10722.6014681626,-10707.0986913585,-10691.7090452793,-10676.4572659121,-10661.3303998577,-10646.3349214030,-10631.4412945724,-10616.6407576637,//1970
	-10601.8919047826,-10587.1770189534,-10572.4495516082,-10557.6906809293,-10542.8563145804,-10527.9342135350,-10512.8902047645,-10497.7249977684,-10482.4206872854,-10466.9943528185,-10451.4479256807,-10435.8132994338,-10420.1114163978,-10404.3811724170,-10388.6564529910,-10372.9720900177,-10357.3644178669,-10341.8540317507,-10326.4688427294,-10311.2093307107,-10296.0881076575,-10281.0856897765,-10266.1986541977,-10251.3918724577,//1971
	-10236.6500781342,-10221.9292793858,-10207.2090354820,-10192.4443008034,-10177.6170913080,-10162.6888426847,-10147.6517910111,-10132.4799732590,-10117.1823049141,-10101.7491932228,-10086.2086922567,-10070.5680725730,-10054.8707244871,-10039.1368845727,-10023.4149287244,-10007.7302232886,-9992.1229117828,-9976.6145171176,-9961.2272582963,-9945.9710074221,-9930.8462109486,-9915.8476568021,-9900.9564709996,-9886.1536778838,//1972
	-9871.4077180034,-9856.6907524613,-9841.9665249252,-9827.2054142955,-9812.3742053680,-9797.4495878739,-9782.4080285539,-9767.2403650597,-9751.9372562227,-9736.5094560010,-9720.9626261059,-9705.3285935399,-9689.6246078142,-9673.8976773479,-9658.1697713676,-9642.4911147297,-9626.8795519385,-9611.3754220807,-9595.9853487441,-9580.7310743703,-9565.6040615195,-9550.6058075553,-9535.7124963986,-9520.9094536407,//1973
	-9506.1613340611,-9491.4445013122,-9476.7182893885,-9461.9582795564,-9447.1259138291,-9432.2034024543,-9417.1620604837,-9401.9965307831,-9386.6952465611,-9371.2681492522,-9355.7249744393,-9340.0891291484,-9324.3905574707,-9308.6589610303,-9292.9373831622,-9277.2519671460,-9261.6467598632,-9246.1353733171,-9230.7510928591,-9215.4898325493,-9200.3676347471,-9185.3625271075,-9170.4733029575,-9155.6634668095,//1974
	-9140.9194908732,-9126.1961781036,-9111.4748389739,-9096.7088957292,-9081.8821597109,-9066.9543192085,-9051.9189978201,-9036.7489619684,-9021.4533322244,-9006.0227851492,-8990.4835699606,-8974.8458282994,-8959.1483194858,-8943.4170897675,-8927.6932419635,-8912.0105019082,-8896.4002699900,-8880.8935492584,-8865.5033338002,-8850.2485606381,-8835.1208237767,-8820.1231941679,-8805.2286832481,-8790.4262914676,//1975
	-8775.6767073729,-8760.9601644756,-8746.2325705279,-8731.4725991821,-8716.6389503154,-8701.7165948083,-8686.6738920384,-8671.5094073883,-8656.2062991149,-8640.7816623375,-8625.2353684503,-8609.6033249257,-8593.8998779279,-8578.1730299786,-8562.4455381194,-8546.7650413715,-8531.1539974303,-8515.6470856159,-8500.2582103063,-8485.0013609098,-8469.8763829421,-8454.8760011588,-8439.9850883688,-8425.1799078936,//1976
	-8410.4339593272,-8395.7145488707,-8380.9899945071,-8366.2267934621,-8351.3955431190,-8336.4693450955,-8321.4289940698,-8306.2599042398,-8290.9602810278,-8275.5305622384,-8259.9900510975,-8244.3527691395,-8228.6571290574,-8212.9250944979,-8197.2058125381,-8181.5206777051,-8165.9165050611,-8150.4057713062,-8135.0213730304,-8119.7611530692,-8104.6384369774,-8089.6348501354,-8074.7451491470,-8059.9369355678,//1977
	-8045.1922740279,-8030.4699957132,-8015.7472304947,-8000.9812815323,-7986.1521190205,-7971.2234855354,-7956.1850255694,-7941.0143547699,-7925.7156025256,-7910.2857440352,-7894.7441477984,-7879.1089740275,-7863.4100385586,-7847.6826799644,-7831.9581690635,-7816.2794039293,-7800.6689087431,-7785.1650054723,-7769.7740341273,-7754.5202103473,-7739.3908652827,-7724.3930400345,-7709.4968049226,-7694.6944283779,//1978
	-7679.9437807239,-7665.2280939877,-7650.5000509064,-7635.7414541035,-7620.9074863053,-7605.9863682781,-7590.9431104281,-7575.7791984306,-7560.4754511708,-7545.0505750685,-7529.5042854796,-7513.8714007025,-7498.1693376568,-7482.4412391339,-7466.7163010140,-7451.0341080769,-7435.4258935871,-7419.9168415347,-7404.5302963066,-7389.2708063249,-7374.1473429114,-7359.1439026822,-7344.2541003633,-7329.4459704817,//1979
	-7314.7015604490,-7299.9799423479,-7285.2579112155,-7270.4934315200,-7255.6655277493,-7240.7385511262,-7225.7016167490,-7210.5314638289,-7195.2342460289,-7179.8024543038,-7164.2624783385,-7148.6224120051,-7132.9256985245,-7117.1917137824,-7101.4708507223,-7085.7857618753,-7070.1801201515,-7054.6712207379,-7039.2856448222,-7024.0283109685,-7008.9045131585,-6993.9040129262,-6979.0129294534,-6964.2074661568,//1980
	-6949.4610614164,-6934.7412241285,-6920.0166913780,-6905.2532024727,-6890.4224808594,-6875.4964495181,-6860.4563723943,-6845.2881726914,-6829.9871378362,-6814.5591793117,-6799.0143004557,-6783.3801102165,-6767.6773129247,-6751.9500983432,-6736.2224169393,-6720.5436431089,-6704.9318347725,-6689.4283258616,-6674.0380658744,-6658.7850487692,-6643.6577667036,-6628.6607752763,-6613.7667113473,-6598.9644143364,//1981
	-6584.2149145934,-6569.4982120098,-6554.7702221436,-6540.0100979218,-6525.1760324588,-6510.2537691432,-6495.2112272663,-6480.0467543084,-6464.7448255686,-6449.3194559935,-6433.7757718908,-6418.1417472801,-6402.4423745562,-6386.7120987487,-6370.9893133451,-6355.3043389070,-6339.6977695943,-6324.1863101252,-6308.8012629424,-6293.5401734131,-6278.4182127581,-6263.4138230881,-6248.5254877420,-6233.7166148085,//1982
	-6218.9735101696,-6204.2509018390,-6189.5299095602,-6174.7641008510,-6159.9371086883,-6145.0088878799,-6129.9731052686,-6114.8025180771,-6099.5068387992,-6084.0757986941,-6068.5372015568,-6052.8988226229,-6037.2023079861,-6021.4699893334,-6005.7471458370,-5990.0627717828,-5974.4531354415,-5958.9444152606,-5943.5544312309,-5928.2978687120,-5913.1706404075,-5898.1720886858,-5883.2789322476,-5868.4766237847,//1983
	-5853.7292234593,-5839.0132963527,-5824.2881687032,-5809.5286549332,-5794.6970778700,-5779.7745514209,-5764.7331092488,-5749.5678296577,-5734.2652099168,-5718.8396173690,-5703.2933334790,-5687.6606873831,-5671.9567878783,-5656.2297871123,-5640.5012533906,-5624.8209146109,-5609.2082186702,-5593.7015112802,-5578.3104967571,-5563.0537666492,-5547.9266297368,-5532.9267160462,-5518.0342893037,-5503.2305190923,//1984
	-5488.4841644859,-5473.7673093678,-5459.0433707066,-5444.2834824883,-5429.4532252978,-5414.5303161329,-5399.4904769914,-5384.3239055629,-5369.0237749217,-5353.5954582397,-5338.0535360378,-5322.4167093669,-5306.7193684859,-5290.9870908009,-5275.2663650375,-5259.5803765372,-5243.9752171491,-5228.4631841960,-5213.0781550271,-5197.8162894799,-5182.6931435561,-5167.6878607146,-5152.7980747809,-5137.9886488586,//1985
	-5123.2446727226,-5108.5221970485,-5093.8012542866,-5079.0363219760,-5064.2100598262,-5049.2832388293,-5034.2481336513,-5019.0790867574,-5003.7832403397,-4988.3537503366,-4972.8139509753,-4957.1775155395,-4941.4791971065,-4925.7494767139,-4910.0247300128,-4894.3433287486,-4878.7320911279,-4863.2259592020,-4847.8341231936,-4832.5786416028,-4817.4484852829,-4802.4494285478,-4787.5525528617,-4772.7493524025,//1986
	-4757.9985266407,-4743.2826339757,-4728.5552863480,-4713.7974524923,-4698.9653187494,-4684.0460963280,-4669.0055786166,-4653.8443575366,-4638.5433801360,-4623.1211261334,-4607.5763807906,-4591.9451580385,-4576.2425360357,-4560.5148306985,-4544.7874727065,-4529.1047138056,-4513.4931751344,-4497.9832568461,-4482.5935643678,-4467.3335619498,-4452.2077328639,-4437.2043944604,-4422.3129299009,-4407.5054136989,//1987
	-4392.7598113289,-4378.0392368977,-4363.3164713065,-4348.5535977649,-4333.7256174387,-4318.8010175393,-4303.7648678204,-4288.5978697676,-4273.3022333848,-4257.8738079276,-4242.3356476151,-4226.6980010863,-4211.0024169329,-4195.2688150512,-4179.5478631471,-4163.8609343177,-4148.2541700454,-4132.7420048288,-4117.3549742506,-4102.0940975723,-4086.9693711703,-4071.9660306609,-4057.0750134574,-4042.2677281147,//1988
	-4027.5223030093,-4012.8014421192,-3998.0784892134,-3983.3144827845,-3968.4857638475,-3953.5596306923,-3938.5220449231,-3923.3542328754,-3908.0563019488,-3892.6292211427,-3877.0878289860,-3861.4547072018,-3845.7548612888,-3830.0281836388,-3814.3017568199,-3798.6223129848,-3783.0095743337,-3767.5042455028,-3752.1113807260,-3736.8560335533,-3721.7255994462,-3706.7267191520,-3691.8301316111,-3677.0271225502,//1989
	-3662.2763873823,-3647.5602527181,-3632.8322605450,-3618.0736106322,-3603.2402689395,-3588.3199332632,-3573.2782948675,-3558.1160222786,-3542.8149043242,-3527.3920580008,-3511.8490388879,-3496.2178519511,-3480.5189121395,-3464.7913400410,-3449.0684060056,-3433.3850512237,-3417.7772127384,-3402.2656448911,-3386.8781320155,-3371.6154022198,-3356.4903209930,-3341.4836821673,-3326.5924242672,-3311.7818348857,//1990
	-3297.0368235827,-3282.3138140264,-3267.5923042996,-3252.8275003365,-3238.0011634251,-3223.0748255681,-3208.0403190405,-3192.8717330460,-3177.5775093513,-3162.1479959341,-3146.6109460148,-3130.9734095839,-3115.2786290879,-3099.5465369854,-3083.8256073526,-3068.1408028948,-3052.5327443776,-3037.0226727164,-3021.6332593443,-3006.3742234335,-2991.2464108494,-2976.2445565696,-2961.3501798943,-2946.5444440703,//1991
	-2931.7960854706,-2917.0774253309,-2902.3524383295,-2887.5914724887,-2872.7614623200,-2857.8387948842,-2842.7999602702,-2827.6353200342,-2812.3354961810,-2796.9106512561,-2781.3665785427,-2765.7345016590,-2750.0318482306,-2734.3053849193,-2718.5772116172,-2702.8976451551,-2687.2846562996,-2671.7789356675,-2656.3869684300,-2641.1309172138,-2626.0020002765,-2611.0020588884,-2596.1070479693,-2581.3026435675,//1992
	-2566.5533206579,-2551.8357517210,-2537.1091565650,-2522.3491997105,-2507.5172492843,-2492.5954655774,-2477.5551028139,-2462.3908482940,-2447.0909613252,-2431.6654767919,-2416.1238083830,-2400.4894349321,-2384.7918574270,-2369.0610891775,-2353.3397083932,-2337.6541895794,-2322.0484013149,-2306.5362568884,-2291.1510455492,-2275.8888658867,-2260.7658755405,-2245.7600345803,-2230.8702458098,-2216.0598482290,//1993
	-2201.3154141538,-2186.5915849953,-2171.8698613011,-2157.1035144503,-2142.2766397574,-2127.3488249658,-2112.3138808753,-2097.1445887416,-2081.8499969534,-2066.4207759527,-2050.8830092405,-2035.2466260688,-2019.5503272496,-2003.8198862730,-1988.0965333116,-1972.4136393611,-1956.8029529468,-1941.2950590863,-1925.9033280669,-1910.6464749937,-1895.5166570880,-1880.5169425092,-1865.6208592958,-1850.8174417816,//1994
	-1836.0675580841,-1821.3513363543,-1806.6246849671,-1791.8660748666,-1777.0342115790,-1762.1138426409,-1747.0732979508,-1731.9110372761,-1716.6100813215,-1701.1874628314,-1685.6429267217,-1670.0121714883,-1654.3094679802,-1638.5826435022,-1622.8543991271,-1607.1724107122,-1591.5591388656,-1576.0496084517,-1560.6576439939,-1545.3977789392,-1530.2697848080,-1515.2669557308,-1500.3740445975,-1485.5678853065,//1995
	-1470.8216767497,-1456.1031607346,-1441.3802140733,-1426.6195160127,-1411.7911730638,-1396.8683038335,-1381.8312004455,-1366.6652625577,-1351.3681372913,-1335.9402611022,-1320.4006312826,-1304.7633413865,-1289.0668519042,-1273.3333376471,-1257.6120093246,-1241.9244393124,-1226.3174816365,-1210.8038738268,-1195.4165940391,-1180.1536764167,-1165.0286860399,-1150.0232300379,-1135.1323580404,-1120.3236075716,//1996
	-1105.5792496760,-1090.8580073697,-1076.1371453533,-1061.3736481796,-1046.5475841660,-1031.6221390719,-1016.5870337587,-1001.4192594959,-986.1230408373,-970.6948343033,-955.1542504770,-939.5190892545,-923.8194894356,-908.0907101620,-892.3642814424,-876.6831230225,-861.0700076669,-845.5633217197,-830.1695961832,-814.9130848324,-799.7814206076,-784.7815086101,-769.8836410666,-755.0799531669,//1997
	-740.3284441603,-725.6123942902,-710.8846758114,-696.1271735729,-681.2952201143,-666.3769086572,-651.3371298399,-636.1771142048,-620.8772761576,-605.4561324359,-589.9128956783,-574.2823810821,-558.5815537255,-542.8538739472,-527.1282240527,-511.4445660122,-495.8340745766,-480.3222841822,-464.9325133593,-449.6696184670,-434.5426531971,-419.5358439433,-404.6429117338,-389.8322335769,//1998
	-375.0857970144,-360.3630957646,-345.6407349494,-330.8770534597,-316.0508085469,-301.1266019363,-286.0931702603,-270.9273536163,-255.6347212123,-240.2076416305,-224.6719296378,-209.0353323474,-193.3408936890,-177.6076505512,-161.8860392449,-146.1985432639,-130.5895296362,-115.0764008724,-99.6864461572,-84.4247537201,-69.2970653773,-54.2931577559,-39.3994181052,-24.5920463746,//1999
	-9.8445841720,4.8754866729,19.5993374736,34.3613902605,49.1897920405,64.1129597795,79.1494738389,94.3138684568,109.6107599532,125.0348348174,140.5759772211,156.2073387605,171.9081318028,187.6346801202,203.3629774745,219.0437404023,234.6586876151,250.1660837730,265.5608165027,280.8182022434,295.9496313165,310.9500412596,325.8467632983,340.6507212437,//2000
	355.4009930481,370.1175452006,384.8446495834,399.6033454871,414.4355967168,429.3558845667,444.3963370934,459.5585923629,474.8582541129,490.2811317973,505.8223629915,521.4538793836,537.1511915479,552.8796509607,568.6015517069,584.2863490048,599.8938468546,615.4070659321,630.7947711459,646.0590402637,661.1844459808,676.1922715018,691.0836562166,705.8950531592,//2001
	720.6399243698,735.3635458762,750.0847356945,764.8500604151,779.6759002624,794.6024611974,809.6361954533,824.8043653101,840.0975400252,855.5258989367,871.0618734675,886.6977568748,902.3919451061,918.1223536949,933.8436457315,949.5272875531,965.1367805911,980.6465465396,996.0384553849,1011.2981272984,1026.4290430703,1041.4318164834,1056.3289806462,1071.1348845968,//2002
	1085.8849801652,1100.6025860514,1115.3281836793,1130.0870345827,1144.9168209301,1159.8367179728,1174.8748423832,1190.0364465760,1205.3352786629,1220.7572852877,1236.3002932037,1251.9303604145,1267.6322631543,1283.3580944068,1299.0862034545,1314.7668710135,1330.3806669548,1345.8890532378,1361.2825136188,1376.5420486472,1391.6725344230,1406.6758250651,1421.5717736912,1436.3785784987,//2003
	1451.1276354510,1465.8462119502,1480.5710896382,1495.3307016496,1510.1597134092,1525.0802990605,1540.1171019295,1555.2800860740,1570.5766723470,1586.0017115599,1601.5411087641,1617.1762285875,1632.8728169205,1648.6050442031,1664.3264943088,1680.0136059534,1695.6203173073,1711.1339716494,1726.5207199018,1741.7842342128,1756.9088998890,1771.9156598718,1786.8067171869,1801.6173224247,//2004
	1816.3622212513,1831.0854049566,1845.8066426394,1860.5715451025,1875.3971827452,1890.3230304944,1905.3565546356,1920.5238049522,1935.8175382592,1951.2450252697,1966.7829204813,1982.4179640336,1998.1153536505,2013.8448320047,2029.5699251136,2045.2523296965,2060.8648971997,2076.3726860150,2091.7660998551,2107.0231235348,2122.1544011858,2137.1544709001,2152.0520642181,2166.8560297158,//2005
	2181.6075902933,2196.3242736311,2211.0522854813,2225.8105972485,2240.6427524115,2255.5615730561,2270.6010819598,2285.7607696332,2301.0597566518,2316.4796170671,2332.0219085032,2347.6506784647,2363.3512890175,2379.0773920840,2394.8039525695,2410.4866509767,2426.0990082550,2441.6104299703,2457.0023408437,2472.2648457733,2487.3933799305,2502.3991992205,2517.2928803982,2532.1019506713,//2006
	2546.8486729764,2561.5695550411,2576.2922375198,2591.0543077038,2605.8812003871,2620.8041554862,2635.8384868352,2651.0032263597,2666.2965802334,2681.7224920097,2697.2582910245,2712.8937965004,2728.5877958824,2744.3206417893,2760.0417779429,2775.7300263600,2791.3388559972,2806.8537992064,2822.2439036572,2837.5079754708,2852.6356864141,2867.6416731119,2882.5346415512,2897.3431064853,//2007
	2912.0887469429,2926.8089094868,2941.5302246822,2956.2919446070,2971.1177409733,2986.0408343676,3001.0751973500,3016.2401763477,3031.5355036725,3046.9607094042,3062.5006161627,3078.1331411049,3093.8328800696,3109.5602850901,3125.2880453316,3140.9695555438,3156.5848804991,3172.0931447284,3187.4892254634,3202.7476543348,3217.8810001064,3232.8823313097,3247.7807801576,3262.5849221052,//2008
	3277.3359346117,3292.0514716054,3306.7780063141,3321.5345730613,3336.3653493436,3351.2829971124,3366.3219703510,3381.4817830533,3396.7808394681,3412.2019610006,3427.7438591068,3443.3743419974,3459.0732572186,3474.8010263208,3490.5247872978,3506.2091296819,3521.8184402349,3537.3316708671,3552.7212386584,3567.9861492455,3583.1135154248,3598.1223990882,3613.0156640060,3627.8279348495,//2009
	3642.5741500973,3657.2977588713,3672.0192284003,3686.7832275072,3701.6080713005,3716.5321920027,3731.5640309786,3746.7295047562,3762.0206914199,3777.4472374702,3792.9818661778,3808.6176282521,3824.3113893166,3840.0433181778,3855.7647227424,3871.4507739771,3887.0603777220,3902.5726863526,3917.9646091282,3933.2267201101,3948.3576806377,3963.3628382593,3978.2601089263,3993.0683119305,//2010
	4007.8183653141,4022.5379245594,4037.2628657609,4052.0228655752,4066.8509151724,4081.7708109850,4096.8060591974,4111.9666451303,4127.2621019846,4142.6827800222,4158.2230274389,4173.8523105901,4189.5531166440,4205.2791632932,4221.0081989628,4236.6898815827,4252.3059891256,4267.8154269489,4283.2115412680,4298.4715876268,4313.6043744858,4328.6075848457,4343.5054184540,4358.3117954597,//2011
	4373.0625114676,4387.7804901091,4402.5068147675,4417.2655431983,4432.0955477143,4447.0146092630,4462.0516773066,4477.2122235831,4492.5083846449,4507.9303257471,4523.4691030573,4539.1013103972,4554.7977719938,4570.5282715901,4586.2505944654,4601.9378701569,4617.5464083807,4633.0618041914,4648.4506798761,4663.7164589457,4678.8427419764,4693.8513445412,4708.7431381078,4723.5548022473,//2012
	4738.2997139896,4753.0233489722,4767.7442401441,4782.5093144396,4797.3344334187,4812.2603089159,4827.2929986090,4842.4600334751,4857.7522857435,4873.1792700982,4888.7149254290,4904.3495231027,4920.0443939620,4935.7740210574,4951.4971952728,4967.1808017061,4982.7928406630,4998.3029564164,5013.6973102693,5028.9572841160,5044.0901389691,5059.0929665640,5073.9917387591,5088.7975833220,//2013
	5103.5492978446,5118.2667852385,5132.9939142448,5147.7522567861,5162.5829768122,5177.5015612476,5192.5396480759,5207.6990633369,5222.9968983864,5238.4162612846,5253.9576551218,5269.5854344602,5285.2855548724,5301.0102410304,5316.7370404918,5332.4183672735,5348.0319166574,5363.5426403673,5378.9368473946,5394.1996332736,5409.3312735928,5424.3379476366,5439.2348346467,5454.0444903009,//2014
	5468.7937462482,5483.5142466877,5498.2383454801,5512.9989103781,5527.8262291475,5542.7469714555,5557.7813240769,5572.9438166240,5588.2373724406,5603.6615043459,5619.1977340738,5634.8320435427,5650.5263039724,5666.2584874383,5681.9794509569,5697.6676145115,5713.2758633852,5728.7913394648,5744.1809047813,5759.4463706901,5774.5740815942,5789.5823523219,5804.4758630462,5819.2870192193,//2015
	5834.0332641221,5848.7557900104,5863.4771157256,5878.2402720105,5893.0650476571,5907.9885332458,5923.0209198998,5938.1857379254,5953.4787315334,5968.9040442845,5984.4419619531,6000.0753095165,6015.7737048462,6031.5022851307,6047.2292683871,6062.9117752248,6078.5266836820,6094.0354311688,6109.4313020803,6124.6898028363,6139.8232577537,6154.8247390898,6169.7238294808,6184.5285159819,//2016
	6199.2806269534,6213.9970067555,6228.7246822525,6243.4819437898,6258.3133662053,6273.2310121538,6288.2698343118,6303.4286513597,6318.7270453025,6334.1465042773,6349.6880983451,6365.3170365919,6381.0167214500,6396.7434907310,6412.4689448693,6428.1527430814,6443.7639884388,6459.2767751950,6474.6678556024,6489.9319939534,6505.0601256166,6520.0678764341,6534.9614972896,6549.7726225522,//2017
	6564.5193531257,6579.2421286441,6593.9645475652,6608.7280606911,6623.5541197758,6638.4778394065,6653.5106804567,6668.6754825774,6683.9669880011,6699.3925550190,6714.9267574252,6730.5618402832,6746.2549959902,6761.9873453982,6777.7085050393,6793.3962204726,6809.0058913170,6824.5205525710,6839.9125027580,6855.1768120102,6870.3071460594,6885.3136318272,6900.2092950267,6915.0179129847,//2018
	6929.7657113387,6944.4853150273,6959.2079451520,6973.9682117921,6988.7943315672,7003.7150264205,7018.7488365109,7033.9106465154,7049.2049686710,7064.6268442714,7080.1659778129,7095.7960342973,7111.4959325378,7127.2225050860,7142.9515620054,7158.6339804379,7174.2512980338,7189.7616309583,7205.1597390531,7220.4204949826,7235.5552761034,7250.5585004967,7265.4574939266,7280.2627294575,//2019
	7295.0133974761,7309.7291461718,7324.4545361607,7339.2105466907,7354.0394888341,7368.9560585483,7383.9926911744,7399.1514002695,7414.4481510582,7429.8689216706,7445.4091261144,7461.0404792228,7476.7385697354,7492.4682760829,7508.1921696527,7523.8791923502,7539.4894318797,7555.0054779706,7570.3961899407,7585.6632676158,7600.7912570510,7615.8012226321,7630.6941760357,7645.5064891864,//2020
	7660.2515152180,7674.9744949243,7689.6942299521,7704.4573889239,7719.2804143118,7734.2038385469,7749.2342358673,7764.3992744795,7779.6897362009,7795.1159793180,7810.6506580388,7826.2860636300,7841.9805521568,7857.7120188062,7873.4348933246,7889.1206864796,7904.7324922884,7920.2449684782,7935.6395161939,7950.9019885876,7966.0354078462,7981.0406973161,7995.9399694846,8010.7478511221,//2021
	8025.4993966999,8040.2179714393,8054.9436925503,8069.7017961417,8084.5297403042,8099.4469110038,8114.4814107822,8129.6389181395,8144.9334025505,8160.3512230026,8175.8905596835,8191.5177856413,8207.2178166543,8222.9429227264,8238.6713864884,8254.3534284524,8269.9694262572,8285.4806225768,8300.8774347201,8316.1404573285,8331.2746563142,8346.2814494074,8361.1807576450,8375.9903186397,//2022
	8390.7416637103,8405.4615515514,8420.1870315675,8434.9460652713,8449.7736633788,8464.6916835851,8479.7251511597,8494.8839264691,8510.1759811010,8525.5962160555,8541.1312242128,8556.7626010132,8572.4566694370,8588.1878268934,8603.9098838989,8619.5990763908,8635.2090855026,8650.7267385008,8666.1178806541,8681.3856694176,8696.5143266907,8711.5245622313,8726.4183832566,8741.2310518687,//2023
	8755.9771743354,8770.7007858344,8785.4216107909,8800.1853279232,8815.0089961917,8829.9322956749,8844.9626240891,8860.1264172449,8875.4163397339,8890.8401674919,8906.3744925532,8922.0067014555,8937.7019108921,8953.4304179791,8969.1556770865,8984.8395868152,9000.4547152211,9015.9660267364,9031.3634968592,9046.6247900644,9061.7600871277,9076.7637567015,9091.6640664269,9106.4699839019,//2024
	9121.2224399072,9135.9392423875,9150.6665681224,9165.4237530790,9180.2543703749,9195.1715454811,9210.2091753659,9225.3668973662,9240.6637091157,9256.0812093673,9271.6210872836,9287.2473996201,9302.9458232726,9318.6699373290,9334.3952563834,9350.0772935006,9365.6899812150,9381.2025501809,9396.5965654805,9411.8617578408,9426.9934986237,9442.0026283968,9456.8995075166,9471.7113321599,//2025
	9486.4602733985,9501.1825529339,9515.9060030084,9530.6679469163,9545.4941929608,9560.4157636463,9575.4483902961,9590.6109046833,9605.9019711291,9621.3252988492,9636.8586479355,9652.4917004296,9668.1834689049,9683.9143384664,9699.6338767309,9715.3211210842,9730.9295143437,9746.4451130110,9761.8367489229,9777.1034566548,9792.2344723993,9807.2442770798,9822.1409980182,9836.9529261231,//2026
	9851.7013253807,9866.4233637180,9881.1454955340,9895.9069349147,9910.7313582202,9925.6522395056,9940.6835970442,9955.8452675371,9971.1370230077,9986.5589358828,10002.0957717586,10017.7260199652,10033.4239538297,10049.1504989024,10064.8780013432,10080.5600237744,10096.1763732983,10111.6861970246,10127.0842869523,10142.3449699542,10157.4809272969,10172.4848904797,10187.3860333187,10202.1925993877,//2027
	10216.9457121897,10231.6627075903,10246.3899987227,10261.1464388359,10275.9761722642,10290.8919668057,10305.9283411142,10321.0852364418,10336.3813611898,10351.7998873772,10367.3399040517,10382.9691959610,10398.6678037366,10414.3957925123,10430.1205694258,10445.8061211006,10461.4170640787,10476.9318062343,10492.3228985533,10507.5889925577,10522.7173831736,10537.7270102402,10552.6208484836,10567.4335465843,//2028
	10582.1800720824,10596.9038527802,10611.6253561326,10626.3891717999,10641.2135774591,10656.1369746001,10671.1677784917,10686.3319571714,10701.6217514136,10717.0467936120,10732.5801983106,10748.2149894387,10763.9082658900,10779.6402807129,10795.3622939731,10811.0495504740,10826.6605715242,10842.1746630641,10857.5681460164,10872.8317641227,10887.9637088382,10902.9697023333,10917.8673603169,10932.6759781723,//2029
	10947.4262030485,10962.1459544933,10976.8708343818,10991.6305977141,11006.4580225281,11021.3770155109,11036.4109097440,11051.5698638310,11066.8633329544,11082.2818702912,11097.8199267115,11113.4472858035,11129.1464547947,11144.8715779065,11160.6003311493,11176.2825806522,11191.8999925669,11207.4114059184,11222.8100641820,11238.0728197750,11253.2084438168,11268.2141101852,11283.1140141708,11297.9216662197,//2030
	11312.6730559376,11327.3907790115,11342.1163496061,11356.8735410505,11371.7017326211,11386.6184915183,11401.6531571364,11416.8110870200,11432.1047260994,11447.5241417566,11463.0607483376,11478.6911573160,11494.3865967214,11510.1169537381,11525.8403039919,11541.5295147436,11557.1408972592,11572.6595418594,11588.0520015005,11603.3212040734,11618.4507010163,11633.4619661121,11648.3556686101,11663.1683646171,//2031
	11677.9132709472,11692.6358756582,11707.3547699387,11722.1170311915,11736.9387495454,11751.8609627901,11766.8899063717,11782.0535747719,11797.3428473233,11812.7676423768,11828.3017642156,11843.9357812786,11859.6307677621,11875.3614143095,11891.0863109042,11906.7724016625,11922.3874157380,11937.9010035435,11953.2989171141,11968.5624623512,11983.6984572733,11998.7040324581,12013.6046689845,12028.4117053845,//2032
	12043.1635226321,12057.8803087531,12072.6057842513,12087.3618946594,12102.1898250955,12117.1054793782,12132.1404615611,12147.2969917860,12162.5921225390,12178.0092325821,12193.5489502939,12209.1756646478,12224.8754535913,12240.6003253173,12256.3280084473,12272.0106071610,12287.6259397616,12303.1388041612,12318.5355459517,12333.8010087545,12348.9354974782,12363.9448556616,12378.8442235300,12393.6558590301,//2033
	12408.4066080141,12423.1277919652,12437.8519493546,12452.6115723932,12467.4372944926,12482.3554830681,12497.3868057493,12512.5456487149,12527.8355724542,12543.2560078887,12558.7891613877,12574.4209579380,12590.1136710616,12605.8452343281,12621.5665564166,12637.2559728616,12652.8661479935,12668.3843554824,12683.7771249669,12699.0462431796,12714.1777345545,12729.1896804109,12744.0864238987,12758.9002071624,//2034
	12773.6482532195,12788.3716643018,12803.0928798443,12817.8549004106,12832.6775262131,12847.5980039287,12862.6265237472,12877.7870351825,12893.0753139500,12908.4961197168,12924.0298031890,12939.6599349727,12955.3559864900,12971.0837772471,12986.8112288019,13002.4957010535,13018.1136427227,13033.6263598722,13049.0266791343,13064.2896898547,13079.4275282712,13094.4328593812,13109.3351931504,13124.1423475252,//2035
	13138.8960678423,13153.6131760493,13168.3406288392,13183.0968046507,13197.9262172996,13212.8411715686,13227.8765973602,13243.0317485396,13258.3263574471,13273.7422453766,13289.2807888288,13304.9072553879,13320.6053362635,13336.3312449167,13352.0570278310,13367.7419307853,13383.3554513104,13398.8711319722,13414.2658030870,13429.5336272490,13444.6654635827,13459.6764588189,13474.5727310347,13489.3857448617,//2036
	13504.1335521024,13518.8565964551,13533.5785935896,13548.3410152034,13563.1655214209,13578.0872400716,13593.1178527142,13608.2801920592,13623.5692737125,13638.9922936026,13654.5242288594,13670.1571383632,13685.8485146047,13701.5795586662,13717.3000171143,13732.9878183672,13748.5982270196,13764.1145738705,13779.5086889478,13794.7758666416,13809.9092328207,13824.9190920726,13839.8179297342,13854.6296611898,//2037
	13869.3799821309,13884.1015320405,13898.8251826796,13913.5855522011,13928.4107909275,13943.3297902131,13958.3611467138,13973.5200512139,13988.8110754036,14004.2295905842,14019.7653592050,14035.3923901204,14051.0894456915,14066.8138389269,14082.5411805166,14098.2227178140,14113.8399530744,14129.3511731313,14144.7511460889,14160.0145686660,14175.1528308845,14190.1599010321,14205.0630019532,14219.8720720146,//2038
	14234.6261999425,14249.3444855454,14264.0715711785,14278.8279888207,14293.6563422022,14308.5711355574,14323.6051548979,14338.7605390398,14354.0535919841,14369.4705174075,14385.0071321963,14400.6353319452,14416.3311208703,14432.0594040408,14447.7830177373,14463.4704708415,14479.0819774368,14494.5996011342,14509.9923556941,14525.2615710240,14540.3919747328,14555.4043552172,14570.2996997078,14585.1142089710,//2039
	14599.8610888106,14614.5854044717,14629.3058499999,14644.0689347645,14658.8911053832,14673.8129190729,14688.8410167133,14704.0033938000,14719.2909246034,14734.7143892022,14750.2465919197,14765.8801334599,14781.5734367969,14797.3045787516,14813.0278933213,14828.7148662270,14844.3282493801,14859.8426813778,14875.2390790593,14890.5033921716,14905.6382622892,14920.6448987853,14935.5450454247,14950.3537527158,//2040
	14965.1056935241,14979.8246381620,14994.5504518248,15009.3086754834,15024.1365437195,15039.0536023352,15054.0876161772,15069.2444108534,15084.5376969643,15099.9540668582,15115.4917947440,15131.1174320494,15146.8161064924,15162.5401579994,15178.2680700296,15193.9500104006,15209.5663968583,15225.0783988323,15240.4763168297,15255.7404907849,15270.8758967463,15285.8836382747,15300.7837716275,15315.5938371403,//2041
	15330.3455930179,15345.0656014055,15359.7912331530,15374.5501227174,15389.3776392616,15404.2952252567,15419.3282244984,15434.4860982628,15449.7771542064,15465.1959573994,15480.7295695795,15496.3594011512,15512.0521921627,15527.7823559689,15543.5039131413,15559.1931387524,15574.8037702590,15590.3227731454,15605.7158667233,15620.9860345832,15636.1172651021,15651.1298331873,15666.0254828426,15680.8392652697,//2042
	15695.5856773478,15710.3087911207,15725.0284042811,15739.7903288125,15754.6117972104,15769.5326939278,15784.5604918843,15799.7219218462,15815.0095563069,15830.4315179904,15845.9642094884,15861.5954565970,15877.2900590832,15893.0188517056,15908.7449701706,15924.4305945841,15940.0479833875,15955.5621355182,15970.9626804887,15986.2270957365,16001.3653740875,16016.3716101032,16031.2738676419,16046.0810128404,//2043
	16060.8337056851,16075.5498652758,16090.2755021304,16105.0302644307,16119.8577076961,16134.7714450286,16149.8054522704,16164.9599884676,16180.2541765758,16195.6699773177,16211.2091505184,16226.8356223493,16242.5350116462,16258.2605581992,16273.9879295805,16289.6721472351,16305.2874659045,16320.8026431761,16336.1994063464,16351.4670718620,16366.6010966110,16381.6119894275,16396.5101224672,16411.3225567517,//2044
	16426.0714352503,16440.7929155290,16455.5149250779,16470.2747035893,16485.0983660833,16500.0168854524,16515.0464694523,16530.2059534402,16545.4945467637,16560.9158288986,16576.4481050021,16592.0807542881,16607.7730328591,16623.5051018288,16639.2264431145,16654.9159133615,16670.5266967024,16686.0449403655,16701.4390345515,16716.7082741934,16731.8415252182,16746.8535468695,16761.7521614813,16776.5658590223,//2045
	16791.3155396999,16806.0383716285,16820.7605093828,16835.5210762376,16850.3436744218,16865.2618457376,16880.2896869068,16895.4473902892,16910.7348639443,16926.1527450786,16941.6859492120,16957.3135433254,16973.0096595708,16988.7357882290,17004.4638506295,17020.1476301411,17035.7665107422,17051.2795637298,17066.6812332320,17081.9456133340,17097.0852852426,17112.0926541043,17126.9968925339,17141.8059347782,//2046
	17156.5609253726,17171.2789035669,17186.0063970674,17200.7619902731,17215.5900327826,17230.5031572320,17245.5360625994,17260.6888511879,17275.9804147244,17291.3942912733,17306.9299818297,17322.5556419051,17338.2519047613,17353.9789783973,17369.7046693400,17385.3924462454,17401.0070297203,17416.5259823385,17431.9217678660,17447.1923136229,17462.3248764858,17477.3379041435,17492.2343850068,17507.0487970833,//2047
	17521.7961605197,17536.5198727909,17551.2405187311,17566.0026823224,17580.8248206231,17595.7453958497,17610.7729638684,17625.9336986975,17641.2199162955,17656.6414784655,17672.1717245908,17687.8038383134,17703.4952470717,17719.2264076398,17734.9487270989,17750.6375614986,17766.2511988673,17781.7689744764,17797.1665779709,17812.4346972802,17827.5708051835,17842.5806014068,17857.4810561929,17872.2916914595,//2048
	17887.0426951839,17901.7624526410,17916.4864178550,17931.2448490875,17946.0704974716,17960.9876020947,17976.0193486418,17991.1761163906,18006.4671546609,18021.8832297785,18037.4187762339,18053.0437148445,18068.7406400074,18084.4639146139,18100.1913376684,18115.8730134176,18131.4906750151,18147.0033071058,18162.4040637386,18177.6696102394,18192.8086246631,18207.8177911974,18222.7211884166,18237.5318417502,//2049
	18252.2856727167,18267.0049218674,18281.7312581386,18296.4881868001,18311.3154829315,18326.2305006542,18341.2630597022,18356.4183650239,18371.7093127789,18387.1258250690,18402.6597543741,18418.2875317602,18433.9807048101,18449.7090934117,18465.4309704658,18481.1192351386,18496.7304768773,18512.2499166220,18527.6442612160,18542.9162317518,18558.0493370106,18573.0645013866,18587.9621698383,18602.7784640851,//2050
	18617.5263180834,18632.2509674276,18646.9708261578,18661.7328629100,18676.5532442174,18691.4731000864,18706.4988924624,18721.6589539723,18736.9443560601,18752.3655057906,18767.8962731438,18783.5277236702,18799.2207454062,18814.9504642112,18830.6751280083,18846.3618402329,18861.9780381557,18877.4934253025,18892.8934705374,18908.1594978675,18923.2981462040,18938.3064958352,18953.2097678553,18968.0193388366,//2051
	18982.7731483300,18997.4915007102,19012.2176601233,19026.9737352274,19041.8005871140,19056.7144194994,19071.7467482241,19086.9003780939,19102.1924692074,19117.6069486541,19133.1445866769,19148.7699104452,19164.4690531126,19180.1938886951,19195.9222759870,19211.6058853720,19227.2227088703,19242.7370683075,19258.1353561664,19273.4021119731,19288.5377664663,19303.5479763846,19318.4480585920,19333.2602182961,//2052
	19348.0114052501,19362.7328723725,19377.4572642702,19392.2168488002,19407.0424442309,19421.9600794312,19436.9907038909,19452.1484069296,19467.4371413898,19482.8560991381,19498.3880399605,19514.0186530421,19529.7106621508,19545.4419157554,19561.1634903017,19576.8536274100,19592.4649082857,19607.9846132929,19623.3788422647,19638.6495059147,19653.7822669022,19668.7953895295,19683.6930591524,19698.5076955090,//2053
	19713.2563648053,19727.9802085928,19742.7015383927,19757.4632886243,19772.2852634158,19787.2046812310,19802.2317273937,19817.3904755199,19832.6765995296,19848.0951886566,19863.6265312260,19879.2546560972,19894.9488976452,19910.6757013818,19926.4026815993,19942.0876333030,19957.7067169986,19973.2213803310,19988.6241131350,20003.8898824612,20019.0305942453,20034.0385432976,20048.9431206612,20063.7518221106,//2054
	20078.5063727157,20093.2234610928,20107.9501651722,20122.7048766172,20137.5323152144,20152.4449021773,20167.4776825116,20182.6301719323,20197.9220662475,20213.3354660287,20228.8718319618,20244.4966076593,20260.1938305151,20275.9197502221,20291.6467134693,20307.3335117953,20322.9498563396,20338.4685874899,20353.8666639228,20369.1376786583,20384.2726012189,20399.2860885623,20414.1843006837,20428.9983955687,//2055
	20443.7464155621,20458.4686748734,20473.1889948774,20487.9488657043,20502.7702580111,20517.6884414955,20532.7154821894,20547.8744494221,20563.1606451946,20578.5813846423,20594.1119202435,20609.7441325362,20625.4357396622,20641.1677497774,20656.8899082853,20672.5800595568,20688.1932532868,20703.7128619327,20719.1102379361,20734.3807799984,20749.5170766722,20764.5295532873,20779.4301883297,20794.2431474952,//2056
	20808.9936611963,20823.7147712721,20838.4370841935,20853.1956421963,20868.0185020621,20882.9348750071,20897.9633115937,20913.1193245146,20928.4074667215,20943.8235085841,20959.3572700734,20974.9830054386,20990.6793942142,21006.4039238787,21022.1318992629,21037.8146870835,21053.4335112243,21068.9467443754,21084.3489767604,21099.6148475009,21114.7557204342,21129.7652891976,21144.6707853988,21159.4818520659,//2057
	21174.2375696799,21188.9567831891,21203.6842110776,21218.4400882509,21233.2672628959,21248.1799369107,21263.2112915630,21278.3633346775,21293.6528518067,21309.0661246148,21324.5995092893,21340.2249724642,21355.9189610796,21371.6463530411,21387.3701616788,21403.0586657758,21418.6722076578,21434.1925229281,21449.5886457326,21464.8614227303,21479.9955826708,21495.0113538573,21509.9097359262,21524.7266079437,//2058
	21539.4751458235,21554.2002777349,21568.9206739886,21583.6827612307,21598.5030936090,21613.4221929900,21628.4468869598,21643.6053199188,21658.8885462474,21674.3077677519,21689.8359720501,21705.4663151811,21721.1573038401,21736.8875307463,21752.6111980093,21768.2999592652,21783.9162499263,21799.4345724703,21814.8352603970,21830.1040588983,21845.2430728024,21860.2533956090,21875.1563782935,21889.9672411875,//2059
	21904.7202819655,21919.4396334898,21934.1648305740,21948.9218010895,21963.7475496042,21978.6620189661,21993.6928828248,22008.8464986388,22024.1365220596,22039.5500238995,22055.0852273995,22070.7088770420,22086.4061652519,22102.1295061699,22117.8576274521,22133.5405359677,22149.1588760260,22164.6734949082,22180.0746029771,22195.3421769135,22210.4809975143,22225.4917308055,22240.3943446798,22255.2061058171,//2060
	22269.9588060723,22284.6789339134,22299.4040610866,22314.1617669271,22328.9877763382,22343.9033867895,22358.9343782453,22374.0900049768,22389.3789956601,22404.7956338239,22420.3274386681,22435.9554546263,22451.6468569616,22467.3759097440,22483.0969224338,22498.7861518708,22514.3974660855,22529.9178969895,22545.3129322074,22560.5856515677,22575.7197598017,22590.7354776185,22605.6343192468,22620.4511134175,//2061
	22635.2000580606,22649.9249534895,22664.6454209350,22679.4071256828,22694.2274285277,22709.1462630891,22724.1713374211,22739.3296212314,22754.6138006078,22770.0323999723,22785.5618175025,22801.1902762602,22816.8823836058,22832.6094786015,22848.3343169947,22864.0195490481,22879.6371845466,22895.1525335298,22910.5549720643,22925.8220709513,22940.9636121205,22955.9734363796,22970.8794194179,22985.6900636367,//2062
	23000.4457689925,23015.1641967638,23029.8911122549,23044.6461012592,23059.4726171661,23074.3844517728,23089.4155940682,23104.5667610414,23119.8571020315,23135.2691240200,23150.8047673451,23166.4283343583,23182.1258024657,23197.8504780192,23213.5781738871,23229.2634205070,23244.8805934267,23260.3977567933,23275.7968621140,23291.0667601640,23306.2031672598,23321.2161940919,23336.1163939949,23350.9305404884,//2063
	23365.6807961286,23380.4031235502,23395.1254174015,23409.8847569805,23424.7073418592,23439.6240358623,23454.6513108951,23469.8080480659,23485.0938280064,23500.5123271134,23516.0423504704,23531.6731665501,23547.3645237413,23563.0964244494,23578.8184885286,23594.5094135123,23610.1221703974,23625.6427706735,23641.0391136021,23656.3105609270,23671.4455073116,23686.4589403037,23701.3583431789,23716.1725747011,//2064
	23730.9222383378,23745.6449746156,23760.3667352488,23775.1269993089,23789.9491929665,23804.8669182942,23819.8940628475,23835.0508055921,23850.3369039352,23865.7532230488,23881.2846965724,23896.9107040894,23912.6053723862,23928.3306062496,23944.0580975072,23959.7420321178,23975.3615272043,23990.8758231989,24006.2790653939,24021.5452496767,24036.6867507629,24051.6957096533,24066.6012672493,24081.4111847102,//2065
	24096.1666794195,24110.8847355835,24125.6120395334,24140.3670637736,24155.1944144851,24170.1064839250,24185.1382435216,24200.2895683088,24215.5795244586,24230.9916071015,24246.5254873274,24262.1493792486,24277.8442037202,24293.5702226242,24309.2955128370,24324.9834479260,24340.5991303257,24356.1198364278,24371.5182418353,24386.7917252468,24401.9275293695,24416.9433861790,24431.8422511545,24446.6581350364,//2066
	24461.4060921811,24476.1293695197,24490.8487079334,24505.6087178869,24520.4281914041,24535.3456606670,24550.3700518487,24565.5276640512,24580.8110062756,24596.2301496536,24611.7584508391,24627.3892755877,24643.0800415979,24658.8113775155,24674.5346291897,24690.2252250249,24705.8413084647,24721.3621792539,24736.7631292596,24752.0348487789,24767.1743327496,24782.1872776410,24797.0901806034,24811.9026726888,//2067
	24826.6544097128,24841.3740749360,24856.0966855674,24870.8529597227,24885.6754541056,24900.5890007871,24915.6168500911,24930.7701106308,24946.0580781309,24961.4720958246,24977.0064276614,24992.6311012010,25008.3284933102,25024.0528516375,25039.7818932741,25055.4655376832,25071.0855429312,25086.6007448509,25102.0041831965,25117.2724340311,25132.4140351354,25147.4254411943,25162.3307198863,25177.1426473193,//2068
	25191.8971672526,25206.6163424466,25221.3419230399,25236.0972647320,25250.9224059280,25265.8345797710,25280.8641062057,25296.0161286219,25311.3041521258,25326.7180154345,25342.2501817877,25357.8767842233,25373.5698159999,25389.2987514299,25405.0219448945,25420.7119760118,25436.3253586956,25451.8471394003,25467.2438450103,25482.5182240296,25497.6537576301,25512.6713201737,25527.5714350002,25542.3899781878,//2069
	25557.1397979063,25571.8658076076,25586.5862807622,25601.3479419809,25616.1669963201,25631.0844807306,25646.1070557709,25661.2632094693,25676.5442684973,25691.9611219362,25707.4878693094,25723.1161432844,25738.8068341689,25754.5356319341,25770.2603743000,25785.9484992335,25801.5669479545,25817.0854447071,25832.4889513692,25847.7587416451,25862.9011305797,25877.9130446881,25892.8195692218,25907.6319335066,//2070
	25922.3878979930,25937.1077452780,25951.8344831593,25966.5903336286,25981.4159182762,25996.3276622658,26011.3568967795,26026.5068374684,26041.7945251651,26057.2044851967,26072.7376567819,26088.3591633973,26104.0556119414,26119.7791878100,26135.5079805288,26151.1933246967,26166.8132811343,26182.3313844927,26197.7340167002,26213.0050072550,26228.1447320199,26243.1582970729,26258.0610738390,26272.8750182564,//2071
	26287.6271634251,26302.3487475193,26317.0725016194,26331.8307265675,26346.6544208436,26361.5695719377,26376.5974440087,26391.7520424487,26407.0376791300,26422.4534408760,26437.9825686338,26453.6105495819,26469.3007276625,26485.0308442710,26500.7523558409,26516.4434598601,26532.0567680715,26547.5794299947,26562.9771469704,26578.2517533492,26593.3882734260,26608.4049228302,26623.3053390285,26638.1220235602,//2072
	26652.8717194477,26667.5958979050,26682.3168238188,26697.0777721307,26711.8986113318,26726.8166414788,26741.8420793886,26756.9989742023,26772.2829717653,26787.6993331681,26803.2282836742,26818.8540989790,26834.5460092866,26850.2709036683,26865.9961664565,26881.6801914248,26897.2989473299,26912.8142733380,26928.2184343856,26943.4864840540,26958.6300599510,26973.6412170882,26988.5491072598,27003.3608725034,//2073
	27018.1180310097,27032.8370252379,27047.5648617116,27062.3198064427,27077.1467417560,27092.0580182343,27107.0889765540,27122.2391581313,27137.5284575094,27152.9391768207,27168.4728480929,27184.0950905522,27199.7900724024,27215.5140540330,27231.2395774953,27246.9253407543,27262.5415436172,27278.0607843572,27293.4604503639,27308.7336721321,27323.8715775141,27338.8881748194,27353.7896903445,27368.6067224946,//2074
	27383.3572978847,27398.0813342620,27412.8026160707,27427.5624060447,27442.3828145051,27457.2990455262,27472.3234922351,27487.4793566138,27502.7622629401,27518.1798271799,27533.7075346343,27549.3374687911,27565.0275708768,27580.7588437007,27596.4810706553,27612.1719720425,27627.7864484254,27643.3077849749,27658.7070093501,27673.9796622411,27689.1179689486,27704.1325490985,27719.0350328866,27733.8498066629,//2075
	27748.6016291063,27763.3238350095,27778.0464920146,27792.8049623970,27807.6268705681,27822.5417901307,27837.5681417613,27852.7219539469,27868.0078013110,27883.4219742195,27898.9542263035,27914.5790457205,27930.2750388991,27945.9997682848,27961.7284366813,27977.4123800713,27993.0326204185,28008.5474187737,28023.9510605826,28039.2181596447,28054.3599158177,28069.3699708326,28084.2756849009,28099.0866443860,//2076
	28113.8421233284,28128.5609418051,28143.2879601474,28158.0433229454,28172.8700194063,28187.7820248115,28202.8127457353,28217.9638940699,28233.2525675558,28248.6648201971,28264.1974223162,28279.8221132984,28295.5157894243,28311.2431549883,28326.9674429157,28342.6567835385,28358.2715844481,28373.7933670379,28389.1910621243,28404.4653244522,28419.6008891503,28434.6177426936,28449.5170989006,28464.3345371952,//2077
	28479.0833964818,28493.8083735967,28508.5282441334,28523.2893308725,28538.1083730692,28553.0258212307,28568.0487093416,28583.2051248568,28598.4862485732,28613.9034083370,28629.4296292564,28645.0583651702,28660.7480809880,28676.4778319888,28692.2015474703,28707.8912740794,28723.5091614409,28739.0298121055,28754.4332041535,28769.7050621940,28784.8470835383,28799.8601890633,28814.7653997330,28829.5778090789,//2078
	28844.3314271176,28859.0505400137,28873.7744486486,28888.5295022925,28903.3525581320,28918.2640826555,28933.2916447946,28948.4421523518,28963.7290721851,28979.1400038611,28994.6730268401,29010.2952918183,29025.9920890678,29041.7159818812,29057.4457152356,29073.1310049337,29088.7525325519,29104.2705452851,29119.6753140639,29134.9463415308,29150.0883725168,29165.1016752707,29180.0062152061,29194.8189753828,//2079
	29209.5717402448,29224.2908976004,29239.0140805389,29253.7689307353,29268.5914693035,29283.5030999638,29298.5301616263,29313.6819572537,29328.9678152034,29344.3819224024,29359.9123158156,29375.5396461761,29391.2315302183,29406.9617653877,29422.6848336887,29438.3766813804,29453.9911710807,29469.5151013683,29484.9137108908,29500.1900337020,29515.3273182838,29530.3458085257,29545.2466446378,29560.0646999291,//2080
	29574.8139717096,29589.5384258224,29604.2576727221,29619.0175275615,29633.8354605818,29648.7514124592,29663.7733013486,29678.9281648050,29694.2089316845,29709.6244963932,29725.1513550948,29740.7781173185,29756.4692466424,29772.1964100747,29787.9218590742,29803.6085809656,29819.2280500441,29834.7457911747,29850.1507873665,29865.4207507114,29880.5651735511,29895.5778463758,29910.4864805765,29925.2993817169,//2081
	29940.0568308534,29954.7763329811,29969.5035549616,29984.2580028791,29999.0831238556,30013.9926924542,30029.0208134367,30044.1683736365,30059.4546716325,30074.8626938230,30090.3945179138,30106.0149304321,30121.7101516906,30137.4336280930,30153.1613564127,30168.8476726665,30184.4671993791,30199.9874341534,30215.3904847855,30230.6644730929,30245.8051474388,30260.8219436368,30275.7255546924,30290.5422858016,//2082
	30305.2944425533,30320.0177035664,30334.7400440624,30349.4984060678,30364.3191383606,30379.2330352533,30394.2568412428,30409.4094660948,30424.6908270052,30440.1048237161,30455.6306684236,30471.2578528630,30486.9466865417,30502.6771973738,30518.3993648135,30534.0917823117,30549.7073466055,30565.2318286975,30580.6326196645,30595.9088999429,30611.0483913158,30626.0660016822,30640.9687195077,30655.7855098667,//2083
	30670.5365992589,30685.2599633761,30699.9812067673,30714.7402493788,30729.5602551720,30744.4752816278,30759.4991991650,30774.6526465355,30789.9354369934,30805.3488099399,30820.8776132703,30836.5014449459,30852.1943944795,30867.9186278422,30883.6457836595,30899.3303568611,30914.9512547780,30930.4678550728,30945.8739374096,30961.1434624087,30976.2883946543,30991.3006202467,31006.2090620391,31021.0212028783,//2084
	31035.7782088221,31050.4969882472,31065.2242858675,31079.9786283716,31094.8047956999,31109.7151818402,31124.7450722026,31139.8942240541,31155.1820623691,31170.5919471137,31186.1238407835,31201.7457940478,31217.4390192772,31233.1636711211,31248.8880660704,31264.5755580554,31280.1915161676,31295.7130784798,31311.1131071295,31326.3887656001,31341.5274579231,31356.5465139568,31371.4490240240,31386.2683562347,//2085
	31401.0195150100,31415.7451586444,31430.4659563805,31445.2262400299,31460.0449573290,31474.9605926163,31489.9824227673,31505.1368008693,31520.4166121728,31535.8321439333,31551.3569668654,31566.9847386196,31582.6729011844,31598.4023868286,31614.1243343390,31629.8144543861,31645.4307463359,31660.9526421939,31676.3552827467,31691.6294748437,31706.7718992616,31721.7882459567,31736.6946301372,31751.5105938787,//2086
	31766.2653084417,31780.9874666708,31795.7115406298,31810.4684460322,31825.2903095951,31840.2023355242,31855.2275839547,31870.3777068386,31885.6619334984,31901.0722901796,31916.6030590184,31932.2249165044,31947.9203948656,31963.6439950615,31979.3733616760,31995.0581226498,32010.6799109871,32026.1970441841,32041.6025763705,32056.8728513163,32072.0164010957,32087.0295733169,32101.9364958161,32116.7498084954,//2087
	32131.5054850800,32146.2254488247,32160.9514125229,32175.7066049107,32190.5310871560,32205.4419510882,32220.4697684875,32235.6195627064,32250.9052954644,32266.3167412050,32281.8469297421,32297.4718010157,32313.1639668175,32328.8925964903,32344.6163874852,32360.3076363507,32375.9228682142,32391.4467740420,32406.8456284271,32422.1220302744,32437.2591223332,32452.2778289819,32467.1785615820,32481.9972843687,//2088
	32496.7469571648,32511.4726404100,32526.1927969981,32540.9541789253,32555.7730887121,32570.6903098835,32585.7125237225,32600.8679218680,32616.1478741638,32631.5633470032,32647.0884715556,32662.7152078453,32678.4044422735,32694.1322863239,32709.8563182034,32725.5444815639,32741.1633379389,32756.6829138398,32772.0877664857,32787.3592745322,32802.5033239653,32817.5167914932,32832.4245466216,32847.2377306300,//2089
	32861.9940888218,32876.7139456593,32891.4403236403,32906.1955968779,32921.0203578775,32935.9311781655,32950.9592905481,32966.1080574504,32981.3943028596,32996.8028486429,33012.3343898440,33027.9544066668,33043.6495559010,33059.3722028618,33075.1006383282,33090.7862291130,33106.4073660339,33121.9272432867,33137.3325049271,33152.6063377582,33167.7491466713,33182.7653339975,33197.6703335094,33212.4855719621,//2090
	33227.2382143264,33241.9592611217,33256.6816218333,33271.4376421234,33286.2586107645,33301.1706367902,33316.1953822206,33331.3469006241,33346.6298796682,33362.0433854597,33377.5709312726,33393.1978279935,33408.8877931335,33424.6182432784,33440.3409630698,33456.0339342975,33471.6498201410,33487.1755678444,33502.5766227397,33517.8547240154,33532.9944289342,33548.0139523385,33562.9165062300,33577.7346482362,//2091
	33592.4847338905,33607.2084504882,33621.9277317941,33636.6862551495,33651.5037547461,33666.4180700298,33681.4396318443,33696.5930277732,33711.8741686749,33727.2886602671,33742.8166376691,33758.4424540839,33774.1350474060,33789.8613414281,33805.5883211005,33821.2745892580,33836.8956695229,33852.4136214095,33867.8203408279,33883.0910142849,33898.2369549415,33913.2501855135,33928.1597060019,33942.9725374767,//2092
	33957.7301401506,33972.4489152274,33987.1758180025,34001.9291578561,34016.7538677159,34031.6623645627,34046.6902944440,34061.8372532967,34077.1236025955,34092.5317515774,34108.0635654081,34123.6847233019,34139.3795557869,34155.1041897184,34170.8311436769,34186.5188236219,34202.1374245490,34217.6591033648,34233.0613928816,34248.3370909301,34263.4776171277,34278.4966557358,34293.4007388875,34308.2199307175,//2093
	34322.9723890724,34337.6974934835,34352.4190789003,34367.1780978649,34381.9968208921,34396.9103108418,34411.9312853968,34427.0829350601,34442.3613504839,34457.7744001637,34473.2979779266,34488.9245666727,34504.6123671715,34520.3426529522,34536.0651632970,34551.7576647339,34567.3748062075,34582.8996392502,34598.3027992150,34613.5796652174,34628.7219885338,34643.7403685397,34658.6460775154,34673.4635512065,//2094
	34688.2172202056,34702.9405899823,34717.6633432075,34732.4211670925,34747.2413126156,34762.1537636727,34777.1766933149,34792.3265988758,34807.6079200505,34823.0175824025,34838.5453671389,34854.1665451642,34869.8599562204,34885.5836268627,34901.3127761647,34916.9986557675,34932.6220873042,34948.1408802332,34963.5490277200,34978.8207595927,34993.9668243991,35008.9806039400,35023.8892178330,35038.7021001294,//2095
	35053.4585358275,35068.1773314326,35082.9034573963,35097.6571415994,35112.4815405412,35127.3906990987,35142.4183196565,35157.5660885211,35172.8514909341,35188.2604812759,35203.7902735089,35219.4123974118,35235.1043497630,35250.8305811969,35266.5548191532,35282.2450302251,35297.8618125366,35313.3864138095,35328.7876335542,35344.0658432323,35359.2053808206,35374.2259280825,35389.1284203600,35403.9481071484,//2096
	35418.6983853717,35433.4238328707,35448.1435213107,35462.9037644460,35477.7215915877,35492.6373274891,35507.6582486871,35522.8122765630,35538.0908339286,35553.5053030034,35569.0288000437,35584.6549708534,35600.3422507872,35616.0700121582,35631.7919854142,35647.4807878486,35663.0983260812,35678.6196594443,35694.0245212458,35709.2988474872,35724.4439284693,35739.4606320517,35754.3695672469,35769.1855583579,//2097
	35783.9422785216,35798.6638055601,35813.3891637159,35828.1447493511,35842.9672469080,35857.8773992832,35872.9027087913,35888.0505030430,35903.3341791123,35918.7418922497,35934.2715671983,35949.8908583646,35965.5850223712,35981.3068016055,35997.0350091657,36012.7194341821,36028.3410222103,36043.8598148375,36059.2664196483,36074.5398458558,36089.6849628698,36104.7014733133,36119.6094118904,36134.4252397668,//2098
	36149.1807343211,36163.9018849273,36178.6262168322,36193.3812042608,36208.2028417106,36223.1125474927,36238.1369123396,36253.2853339635,36268.5676407585,36283.9781342473,36299.5053851662,36315.1300112484,36330.8201941927,36346.5493999442,36362.2724849381,36377.9650363553,36393.5809403331,36409.1066658279,36424.5073233529,36439.7858516192,36454.9252498757,36469.9458897330,36484.8486533802,36499.6685500306,//2099
	36514.4192843969,36529.1449522557,36543.8648146734,36558.6248174813,36573.4421602216,36588.3569454217,36603.3771640971,36618.5300448555,36633.8087928353,36649.2224969579,36664.7477332541,36680.3733164374,36696.0636406887,36711.7906191288,36727.5162474726,36743.2038456507,36758.8243750119,36774.3435825404,36789.7499457511,36805.0213043200,36820.1667661882,36835.1802488943,36850.0893525501,36864.9024815486,//2100
};//公历基准日表，存储从1900年1月1日到2100年12月31日的公历基准日。以公历2000.1.1.1为基准日。
//这种设计大大提高了查询效率，避免了复杂的天文计算。
const char* lunar_month[12]={
	"正月", "二月", "三月", "四月", "五月", "六月",
	"七月", "八月", "九月", "十月", "冬月", "腊月"
};
const char* lunar_day[30]={
	"初一", "初二", "初三", "初四", "初五", "初六",
	"初七", "初八", "初九", "初十", "十一", "十二",
	"十三", "十四", "十五", "十六", "十七", "十八",
	"十九", "二十", "廿一", "廿二", "廿三", "廿四",
	"廿五", "廿六", "廿七", "廿八", "廿九", "三十"
};
const char* tiangan[10]={
	"甲", "乙", "丙", "丁", "戊", "己",
	"庚", "辛", "壬", "癸"
};
const char* dizhi[12]={
	"子", "丑", "寅", "卯", "辰", "巳",
	"午", "未", "申", "酉", "戌", "亥"
};
const char* solarTerms[24]={
	"冬至", "小寒", "大寒", "立春", "雨水", "惊蛰", "春分", "清明", "谷雨", "立夏", "小满", "芒种", "夏至", "小暑", "大暑", "立秋", "处暑", "白露", "秋分", "寒露", "霜降", "立冬", "小雪", "大雪" };
const char*Xingqi[7] = {
	"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"
};
HANDLE hOut;			//控制台句柄
/*******函  数  声  明*******/
void DateRefer(int year, int month, int day, bool SST);		//公历查农历
int GetDaysOfMonth(int year, int month, bool mode, bool bLeap);//取当前月份天数，mode为false时，查公历，mode为true时查农历，此时bLeap为是否闰月
void ShowCalendar(int year, int month, int day);				//打印一个月的月历
int Jizhun(int year, int month, int day);						//算出基准天，公历日期变天数，公历每月天数作差即可得，码表用以实现农历天数差的处理
int qvzheng(double v);											//取整
Time GetDate(double n);										//将小数日转成公历，天数变公历日期
int GetGre(Lunar LunarDate);							//农历查公历
Time GetCurTime();									//取当前系统时间
Time SysTimeToLong(SYSTEMTIME SystemTime);         	//时间结构体转换
void ShowSolarTerms(int year);								//显示二十四节气
void Holiday(int month);									//公历节日



void ShowCalendar(int year, int month, int day)
{
    // 计算公历月首天数
    int dM0 = Jizhun(year, month, 1);//计算本月1号距离基准日的天数
    int jd_day = dM0; // 保存当前天数
    int base_days = Jizhun(year, month, day); // 计算当前日期距离基准日的天数
    int dw0 = (dM0 + 142113) % 7; // 计算本月1号是星期几，142113是校正值
    int idw = dw0; // idw用于标记星期，用于输出时对齐
    int dMn = GetDaysOfMonth(year, month, false, false); // 本月总天数公历
    int hang = 0, lie = 0; // hang为年份在表中的行号，lie为月份列号
    int Lyear = 0, Lmonth = 0, Lday = 0; // 农历年、月、日
    int nday0 = 1, nday1 = 1; // nday0为公历日计数, nday1为农历
    int lunar_ndays = 0; // 当前农历月总天数
    const char* leap = ""; // 闰月标记
    const char* daxiao = ""; // 大月或小月标记
    int dM0_lunar = 0, dM_lunar = 0; // 农历月首天数及当前农历日
    int cal_item = 0; // 日历格子计数
    bool isfirstline = true; // 标记第一行输出
    bool fillblanks = true; // 是否填充空格
    bool islunarcal = false; // 是否为农历计算
    double jq1, jq2; // 节气交节时间
    int Lmonth_index = 0; // 农历月序
    int index_jieqi = 0; // 节气序号
    Time lt; // 时间结构体
    hang = year - BASE_YEAR; // 当前年份所处数据表中的行号
    lie = month - 1; // 月份减1为初始查询列号

    // 查询公历月首所在的农历月
    for (lie; lie < 15; lie++)
    {
        if ((MonthPrefixCodeTable[hang * 15 + lie - 1] <= dM0) && (MonthPrefixCodeTable[hang * 15 + lie] > dM0))// 找到本月1号属于哪个农历月
        {
            break;
        }
    }
    lie--;// 多加1；

    // 闰月判断
    if (MonthCodeTable[hang * 14 + lie - 1] == MonthCodeTable[hang * 14 + lie])
    {
        leap = "闰";// 如果月序码相同，说明是闰月
    }

    // 判断农历月天数
	lunar_ndays = MonthPrefixCodeTable[hang * 15 + lie + 1] - MonthPrefixCodeTable[hang * 15 + lie];// 计算农历月天数，也可用函数GetDaysOfMonth，有空试一下
    if (lunar_ndays == 31)
    {
        daxiao = "大";
    }
    else if (lunar_ndays == 30)
    {
        daxiao = "小";
    }

    // 计算月历第一天的农历日期
    Lyear = year;// 初始农历年等于公历年
    Lmonth_index = hang * 14 + lie;// 计算农历月序号
    Lmonth = MonthCodeTable[Lmonth_index] - 1;// 得到农历月
    if (Lmonth < 1)
    {
        Lmonth += 12;// 月份小于1，说明是上年腊月
    }
    if (Lmonth > 10 && ((hang * 14 + lie) % 14 < 2))
    {
        Lyear--;// 跨年处理，农历月大于10且在前两列，农历年减1
    }
    Lday = dM0 - MonthPrefixCodeTable[hang * 15 + lie];// 计算农历日，初几

    // 计算节气日期
    dM0_lunar = Lday;
    dM_lunar = dM0_lunar;// 当前农历日
    for (index_jieqi = (month - 1) * 2; index_jieqi < 24; index_jieqi++)
    {
        jq1 = Jieqi[hang * 24 + index_jieqi];
        jq2 = Jieqi[hang * 24 + index_jieqi + 1]; // 找到节气在本月的区间
        if (qvzheng(jq1 + 0.5) <= (dM0 + 14) && qvzheng(jq2 + 0.5) > (dM0 + 14))//正好每月两个
        {
            break;
        }
    }

    // 打印日历头部
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | FOREGROUND_RED);//红
    printf("\r\n\t\t公历  %d年%d月  %s%s\r\n\r\n", year, month, Xingqi[(base_days + 142113) % 7], leap);//142113：这是一个“校正值”，它的作用是把基准日和你程序中星期的起点（比如星期日或星期一）对齐。这个数值的具体含义要结合你的基准日和星期的定义来看，通常是通过调试或查表得到的。
    SetConsoleTextAttribute(handle, BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);
    SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE | FOREGROUND_RED);
    printf("  周日\t");
    SetConsoleTextAttribute(handle, BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);// // 恢复背景色
    printf("  周一\t  周二\t  周三\t  周四\t  周五\t");
    SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE | FOREGROUND_RED);
    printf("  周六\r\n");
    SetConsoleTextAttribute(handle, BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);
    printf("________________________________________________________\r\n");

    // 打印日期
    for (cal_item = 0; cal_item < 7; cal_item++)
    {
        if (!islunarcal)//不是农历计算
        {
            // 公历填充表格
            if (fillblanks)
            {
                if (isfirstline && dw0 != 0)
                {
                    printf("   \t   ");//第一行且不是周日，补空格
                }
                if (dw0 == 0)
                {
                    printf("");// 如果是周日，不补空格
                    cal_item = -1;// 重新计数
                }
                for (idw; idw > 1; idw--)
                {
                    printf("\t   ");// 补齐前面的空格
                    cal_item++;
                }
                idw = dw0;// 恢复idw
                fillblanks = false;// 关闭空格填充
            }
            else
            {
                if (cal_item == 0)
                {
                    printf("   ");// 行首补空格
                }
                printf("%d\t   ", nday0);// 打印公历日
                nday0++;// 公历日加1

                if (cal_item == 5 || cal_item == 6)
                {
                    handle = GetStdHandle(STD_OUTPUT_HANDLE);
                    SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE | FOREGROUND_RED);
                }
                else
                {
                    SetConsoleTextAttribute(handle, BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);
                }
                if (nday0 > dMn)
                {
                    printf("\r\n");
                    cal_item = -1;
                    islunarcal = true;// 切换到农历输出
                }
                if (cal_item == 6)
                {
                    cal_item = -1;
                    printf("\r\n");
                    islunarcal = true;// 切换到农历
                    if (isfirstline)
                    {
                        fillblanks = true;// 第一行后续还需补空格
                    }
                }
            }
        }
        else// 农历输出
        {
            if (fillblanks)
            {
                if (isfirstline && dw0 != 0)
                {
                    printf("   \t ");
                }
                if (dw0 == 0)
                {
                    cal_item = -1;
                }
                for (idw; idw > 2; idw--)
                {
                    printf("\t   ");
                    cal_item++;
                }
                if (dw0 > 1)
                {
                    printf("\t ");
                    cal_item++;
                }
                fillblanks = false;// 关闭空格补齐
            }
            else
            {
                if (dM_lunar >= lunar_ndays)
                {
                    // 农历日超出本月天数,则为下一月
                    Lmonth_index++;
                    Lmonth = MonthCodeTable[Lmonth_index] - 1;
                    if (Lmonth < 1)
                    {
                        Lmonth += 12;
                    }
                    if (Lmonth > 10)
                    {
                        year--;
                    }
                    lunar_ndays = MonthPrefixCodeTable[hang * 15 + lie + 2] - MonthPrefixCodeTable[hang * 15 + lie + 1];
                    dM_lunar = 0;
                }
                if (cal_item == 0 || cal_item == 6)
                {
                    handle = GetStdHandle(STD_OUTPUT_HANDLE);
                    SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE | FOREGROUND_RED);
                }
                else
                {
                    SetConsoleTextAttribute(handle, BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);
                }

                if (qvzheng(jq1 + 0.5) == jd_day)
                {
                    if (cal_item == 0)
                    {
                        printf("  ");
                    }
                    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
                    SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE | FOREGROUND_RED);
                    printf("%s", solarTerms[(index_jieqi) % 24]);
                    SetConsoleTextAttribute(handle, BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);
                }
                else if (qvzheng(jq2 + 0.5) == jd_day)
                {
                    if (cal_item == 0)
                    {
                        printf("  ");
                    }
                    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
                    SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE | FOREGROUND_RED);
                    printf("%s", solarTerms[(index_jieqi + 1) % 24]);
                    SetConsoleTextAttribute(handle, BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);
                }
                else
                {
                    if (dM_lunar == 0)
                    {
                        // 修改：每月农历第一天输出为“几月”
                        if (MonthCodeTable[Lmonth_index] == MonthCodeTable[Lmonth_index - 1])
                        {
                            printf("闰");
                        }
                        printf("%d月", Lmonth); // 只输出几月
						if (lunar_ndays == 30)
						{
							printf("大");
						}
						else
						{
							printf("小");
						}
                    }
                    else
                    {
                        if (cal_item == 0)
                        {
                            printf("  ");
                        }
                        printf("%s", lunar_day[dM_lunar]);
                    }
                }
                jd_day++;
                dM_lunar++;
                nday1++;
                if (dM_lunar == lunar_ndays)
                {
                    if (MonthCodeTable[Lmonth_index + 1] == MonthCodeTable[Lmonth_index])
                    {
                        printf(" ");
                    }
                    else
                    {
                        printf("\t ");
                    }
                }
                else
                {
                    if (MonthCodeTable[Lmonth_index - 1] == MonthCodeTable[Lmonth_index])
                    {
                        if (dM_lunar == 0)
                        {
                            printf(" ");
                        }
                        else
                        {
                            printf("\t ");
                        }
                    }
                    else
                    {
                        printf("\t ");
                    }
                }
                if (nday1 > dMn)
                {
                    break;
                }

                if (cal_item == 6)
                {
                    cal_item = -1;
                    printf("\r\n\r\n");
                    islunarcal = false;
                    if (isfirstline)
                    {
                        isfirstline = false;
                    }
                    if (nday1 > dMn)
                    {
                        break;
                    }
                }
            }
        }
    }
}

	
	/**
	 * 计算当前月份的天数
	 */
int GetDaysOfMonth(int year, int month, bool mode, bool bLeap)  //mode为false时，查公历，mode为true时查农历，此时bLeap为是否闰月
	{
		int dM0 = 0, dMn = 0;//dM0 用于存储当前月首的累计天数，dMn 用于存储本月天数。
		if (!mode)//查公里
		{
			dM0 = Jizhun(year, month, 1);				//月首天数，该年该月1日距离基准日的累计天数
			if (month == 12)
			{
				dMn = Jizhun(++year, 1, 1) - dM0;			//12月，则下一个月是下一年的1月，计算下年1月1日与本月1日的天数差。
			}
			else
			{
				dMn = Jizhun(year, ++month, 1) - dM0;		//否则，计算下个月
			}
		}//得到本月天数
		else//差农历
		{
			int leap_Month = -1;						//记录闰月的序号，初始为-1（无闰月）
			int hang = year - BASE_YEAR;				//所在行
			int i = 0;
			int lie = month + 1;//月首码表比月份多一列
			for (i = 0; i < 14; i++)//查找是否有连续两个相同的月序号，若有，说明该年有闰月，leap_Month 记录闰月序号
			{
				if (MonthCodeTable[hang * 14 + i + 1] == MonthCodeTable[hang * 14 + i])
				{
					leap_Month = i - 1;
					break;
				}
			}
			if (leap_Month == -1)
			{
				if (bLeap)
				{
					return -1;					//如果当前年份无闰月，而输入有闰月，则返回-1，以代表输入错误
				}
			}
			else
			{
				if (bLeap)
				{
					if (leap_Month != month)
					{
						return -1;			//当前年份有闰月，但并非当前输入月份
					}
				}
			}
			if (leap_Month != -1)
			{
				if (month > leap_Month)		//在当年闰月以及之后
				{

					lie++;//如果有闰月，且当前月份在闰月之后，或正好是闰月且bLeap为真，则列号加1，确保查找的是正确的月首码。
				}
				else
				{
					if (bLeap == true && month == leap_Month)
					{
						lie++;
					}
				}
			}
			dMn = MonthPrefixCodeTable[hang * 15 + lie + 1] - MonthPrefixCodeTable[hang * 15 + lie];//月首码表，计算本月天数
		}
		return dMn;//返回天数
	}
	/**
* 查询某天农历和节气
*/
	void DateRefer(int year, int month, int day, bool SST)
	{
		int Lyear = 0, Lmonth = 0, Lday = 0;
		int base_days = 0;			//基准日
		int hang = 0, lie = 0;			//行与列
		int i = 0, ijq0 = 0, ijq1 = 0;		//节气
		const char* leap = "";				//闰月
		const char* daxiao = "";			//大月或小月
		Lyear = year;
		base_days = Jizhun(year, month, day);//计算基准天数
		hang = year - BASE_YEAR;
		lie = month - 1;
		for (lie; lie < 15; lie++)//通过遍历，查找当前日期属于哪一个农历月
		{
			if ((MonthPrefixCodeTable[hang * 15 + lie - 1] <= base_days) && (MonthPrefixCodeTable[hang * 15 + lie] > base_days))
			{
				break;//在某两个月首之间时，跳出循环
			}
		}
		lie--;//减掉多加的1
		if (MonthCodeTable[hang * 14 + lie - 1] == MonthCodeTable[hang * 14 + lie])
		{//如果月序码表中相邻两月序号相同，说明是闰月。
			leap = "闰";
		}
		if ((MonthPrefixCodeTable[hang * 15 + lie + 1] - MonthPrefixCodeTable[hang * 15 + lie]) == 31)
		{
			daxiao = "大";
		}
		else
		{
			daxiao = "小";
		}
		Lmonth = MonthCodeTable[hang * 14 + lie] - 1;
		if (Lmonth < 1)
		{
			Lmonth += 12;//月序码表是从0开始，减1后如果小于1，说明是上一年末的月，要加12。
		}
		if (Lmonth > 10 && ((hang * 14 + lie) % 14 < 2))
		{
			Lyear--;//对于十一月和十二月的，年份应为上一年的
		}
		Lday = base_days - MonthPrefixCodeTable[hang * 15 + lie];//从初一开始
		printf("\n");
		printf("\t%s%s年 %s%s(%s)%s\n", tiangan[(Lyear - 1984 + 9000) % 10],dizhi[(Lyear - 1984 + 9000) % 12], leap, lunar_month[Lmonth - 1], daxiao, lunar_day[Lday]);
		
		for (i = (month - 1) * 2; i < 48; i++)//i就是列
		{
			ijq0 = qvzheng(Jieqi[hang * 24 + i] + 0.5);//天数取整
			ijq1 = qvzheng(Jieqi[hang * 24 + i + 1] + 0.5);
			if (ijq1 > base_days && ijq0 <= base_days)
			{
				if (ijq0 == base_days)
				{
					Time lt = GetDate(Jieqi[hang * 24 + i]);
					printf("\n\t今日节气：");
					printf("%s\n", solarTerms[i % 24]);
				}
				else
				{
					printf("\n\t距离下一个节气 %s 还有 %d 天\n", solarTerms[(i + 1) % 24], ijq1 - base_days);
				}
				break;
			}
		}	
	}
	
	/**
	 * 计算出基准天
	 */
	int Jizhun(int year, int month, int day)
	{
		int basedays = 0;
		int x = 0, y = 0;
		if (month <= 2 && month > 0)
		{
			year--;//如果月份是1月或2月，则将年份减1，月份加12。这样做是为了方便后续的通用公式计算（把1、2月当作上一年的13、14月处理）
			month += 12;
		}
		x = (int)(year / 100);//计算年份的世纪数，并初始化 y。

		y = 0;
		if (year > 1582)//如果年份大于1582年（即公历改革后），需要加上历法修正项。y 的计算是格里高利历（公历）对儒略日历的修正。

		{
			y = 2 - x + (int)(x / 4);
		}
		basedays = (int)(365.25 * (year + 16)) + 36525 * 47 + (int)(30.6001 * (month + 1)) + day + y - 2453069;//核心公式，计算从某一基准日（通常是公元前4713年1月1日的儒略日）到指定日期的天数。
		return basedays;
	}
	/**
	 * 获得小于等于该数的整数
	 */
	int qvzheng(double v)
	{
		int a = (int)v;
		if (v < 0)
		{
			int n=0;
			n -= (int)v;
			double rm = n;
			if (rm != 0)
			{
				a--;
			}
		}
		return a;
	}
    /**
     * 将小数日转公历
     */
	Time GetDate(double n)//将小数日转成公历，节气码表中就是儒略日
    {
					Time lt = {0};
					n += 0.5;
					int Z = (int)n;
					double F = n - Z;
					int A = Z;
					if (Z >= 2299161) {
						int alpha = (int)((Z - 1867216.25) / 36524.25);
						A = Z + 1 + alpha - (alpha / 4);
					}
					int B = A + 1524;
					int C = (int)((B - 122.1) / 365.25);
					int D = (int)(365.25 * C);
					int E = (int)((B - D) / 30.6001);
					lt.day = B - D - (int)(30.6001 * E);
					lt.month = (E < 14) ? (E - 1) : (E - 13);
					lt.year = (lt.month > 2) ? (C + 1996) : (C + 1997);//试出来的1996
					// 计算星期几
					lt.dayOfweek = ((int)(n + 1)) % 7;
					// 计算时分秒毫秒
					return lt;
    }
	/**
	 * 农历查公历
	 */
	int GetGre(Lunar lunar)
	{
		int hang = lunar.year - BASE_YEAR;//计算农历年份在数据表中的“行”索引。
		int lie = lunar.month + 1;//计算“列”索引。农历月份从 1 开始，+1 是因为月首码表每年有 15 列（含闰月）。

		int leap_month = -1;
		int i = 0;
		double ndays = 0.0;
		int ileapMonth = 0;
		int dMn = 0;
		Time lt;//初始化变量：leap_month 表示闰月，ndays 用于累计天数，dMn 存储该月天数，lt 用于存放转换后的公历日期。

		for (i = 0; i < 14; i++)
		{
			if (MonthCodeTable[hang * 14 + i + 1] == MonthCodeTable[hang * 14 + i])
			{
				leap_month = i - 1;//农历闰月
				if (leap_month <= 0)
				{
					leap_month += 12;
				}
				break;
			}
		}//查找该年是否有闰月。MonthCodeTable 连续两个相同的值，说明有闰月，leap_month 记录闰月的月份
		if (leap_month == lunar.month)
		{
			printf("当前月份是否为闰月？（是闰月则输入“Y”，否则输入“N”）>");
			ileapMonth = getchar();
			if (ileapMonth == 89 || ileapMonth == 121)
			{
				lunar.isLeap = true;
			}
			else if (ileapMonth == 78 || ileapMonth == 110)
			{
				lunar.isLeap = false;
			}
			printf("\r\n");
		}
		dMn = GetDaysOfMonth(lunar.year, lunar.month, true, lunar.isLeap);
		if (dMn == -1)
		{
			printf("当前农历闰月信息有误，请重新输入：Year Month Day>");
			return 2;//返回错误
		}
		else
		{
			if (dMn < lunar.day)
			{
				if (lunar.isLeap)
				{
					printf("%d年闰%s只有 %d 天，请重新输入：", lunar.year, lunar_day[lunar.month - 1], dMn);
				}
				else
				{
					printf("%d年%s只有 %d 天，请重新输入：", lunar.year, lunar_day[lunar.month - 1], dMn);
				}
				return 1;
			}
		}
		if (leap_month != -1)//如果有闰月，且输入的月份在闰月之后，列号要加 1。若正好是闰月且是闰月，也加 1。

		{
			//定位当前列
			if (lunar.month > leap_month)
			{
				lie++;
			}
			else
			{
				if (lunar.month == leap_month && lunar.isLeap == true)
				{
					lie++;
				}
			}
		}
		ndays = MonthPrefixCodeTable[hang * 15 + lie];
		ndays += lunar.day;
		ndays--;//查找该农历月初一对应的累计天数，加上农历日数（减 1 是因为初一就是第 1 天）。
		lt = GetDate(ndays);//将累计天数转换为公历日期，存入 lt。

		printf("\r\n%d (%s%s)年 ", lunar.year, tiangan[(lunar.year - 1984 + 9000) % 10], dizhi[(lunar.year - 1984 + 9000) % 12]);
		if (lunar.isLeap)
		{
			printf("闰");
		}
		printf("%s%s ", lunar_day[lunar.month - 1], lunar_day[lunar.day - 1]);
		printf("的公历日期为：");
		printf("%d年%d月%d日 %s\r\n", lt.year, lt.month, lt.day, Xingqi[(lt.dayOfweek + 5) % 7]);//星期几判断错误，比实际晚两天
		return 0;
		// 修改GetGre函数中输出星期几的地方，lt.dayOfweek-2，若小于0则加7，保证范围在0~6
	}
	/**
	 * 获得当前日期
	 */
	Time GetCurTime()
	{
		SYSTEMTIME st;/*  SYSTEMTIME 是一个结构体，用于表示系统时间（年、月、日、时、分、秒、毫秒等）。
                          PSYSTEMTIME 和 LPSYSTEMTIME 是指向 SYSTEMTIME 结构体的指针类型，方便在 API 调用时传递和接收时间数据。
                          Windows API 中很多函数（如 GetSystemTime、SetSystemTime）会用到 SYSTEMTIME 结构体来获取或设置系统时间。*/
		Time lt;
		GetLocalTime(&st);
		lt.year = st.wYear;
		lt.month = st.wMonth;
		lt.day = st.wDay;
		lt.dayOfweek = st.wDayOfWeek;
		lt.hour = st.wHour;
		lt.minute = st.wMinute;
		lt.second = st.wSecond;
		lt.millisecond = st.wMilliseconds;
		return lt;
	}
	/**
	 * 时间结构体转换
	 */
	Time SysTimeToLong(SYSTEMTIME SystemTime)
	{
		Time LongTime;
		LongTime.year = (long int)SystemTime.wYear;
		LongTime.month = SystemTime.wMonth;
		LongTime.day = SystemTime.wDay;
		LongTime.hour = SystemTime.wHour;
		LongTime.minute = SystemTime.wMinute;
		LongTime.second = SystemTime.wSecond;
		LongTime.millisecond = SystemTime.wMilliseconds;
		LongTime.dayOfweek = SystemTime.wDayOfWeek;
		return LongTime;
	}
	/**
	 * 显示二十四节气
	 */
    void ShowSolarTerms(int year)
    {
        int row = year - BASE_YEAR;
        int col = 3; // 从立春开始算。
        Time solarTermTime;
        printf("\r\n  节气名称\t交节日期\t  \n");
        for (; col < 27; col++) // col初始为3，算24个节气后为26，因此小于27
        {
            solarTermTime = GetDate(Jieqi[row * 24 + col]);
            printf("  %02d. ", col - 2);
            printf("%s", solarTerms[col % 24]);
            printf("  \t%d-%d-%d\n  ", solarTermTime.year, solarTermTime.month, solarTermTime.day);
            
        }
    }
    /**
     * 获得公历节日
     */
    void Holiday(int month)
    {
					switch (month)
					{
					case 1:
						printf("\n\t\t 1月1日元旦(New Year's Day)\n");
						printf("\t\t 1月最后一个星期日国际麻风节\n\n");
						break;
					case 2:
						printf("\n\t\t 2月2日  世界湿地日(World Wetlands Day)\n");
						printf("\t\t 2月14日 情人节(Valentine's Day)\n\n");
						break;
					case 3:
						printf("\n\t\t 3月3日  全国爱耳日\n");
						printf("\t\t 3月5日  青年志愿者服务日\n");
						printf("\t\t 3月8日  国际妇女节(International Women' Day)\n");
						printf("\t\t 3月9日  保护母亲河日\n");
						printf("\t\t 3月12日 中国植树节(China Arbor Day)\n");
						printf("\t\t 3月14日 白色情人节(White Day)\n");
						printf("\t\t 3月14日 国际警察日(International Policemen' Day)\n");
						printf("\t\t 3月15日 世界消费者权益日(World Consumer Right Day)\n");
						printf("\t\t 3月21日 世界森林日(World Forest Day)\n");
						printf("\t\t 3月21日 世界睡眠日(World Sleep Day)\n");
						printf("\t\t 3月22日 世界水日(World Water Day)\n");
						printf("\t\t 3月23日 世界气象日(World Meteorological Day)\n");
						printf("\t\t 3月24日 世界防治结核病日(World Tuberculosis Day)\n");
						printf("\t\t 3月最后一个完整周的星期一中小学生安全教育日\n\n");
						break;
					case 4:
						printf("\n\t\t 4月1日  愚人节(April Fools' Day)\n");
						printf("\t\t 4月5日  清明节(Tomb-sweeping Day)\n");
						printf("\t\t 4月7日  世界卫生日(World Health Day)\n");
						printf("\t\t 4月22日 世界地球日(World Earth Day)\n");
						printf("\t\t 4月26日 世界知识产权日(World Intellectual PropertyDay)\n\n");
						break;
					case 5:
						printf("\n\t\t 5月1日  国际劳动节(International Labour Day)\n");
						printf("\t\t 5月3日  世界哮喘日(World Asthma Day)\n");
						printf("\t\t 5月4日  中国青年节(Chinese Youth Day)\n");
						printf("\t\t 5月8日  世界红十字日(World Red-Cross Day)\n");
						printf("\t\t 5月12日 国际护士节(International Nurse Day)\n");
						printf("\t\t 5月15日 国际家庭日(International Family Day)\n");
						printf("\t\t 5月17日 世界电信日(World Telecommunications Day)\n");
						printf("\t\t 5月20日 全国学生营养日\n");
						printf("\t\t 5月23日 国际牛奶日(International Milk Day)\n");
						printf("\t\t 5月31日 世界无烟日(World No-Smoking Day)\n");
						printf("\t\t 5月第二个星期日母亲节(Mother's Day)\n");
						printf("\t\t 5月第三个星期日全国助残日\n\n");
						break;
					case 6:
						printf("\n\t\t 6月1日  国际儿童节(International Children's Day)\n");
						printf("\t\t 6月5日  世界环境日(International Environment Day)\n");
						printf("\t\t 6月6日  全国爱眼日\n");
						printf("\t\t 6月17日 世界防治荒漠化和干旱日(World Day to combat desertification)\n");
						printf("\t\t 6月23日 国际奥林匹克日(International Olympic Day)\n");
						printf("\t\t 6月25日 全国土地日\n");
						printf("\t\t 6月26日 国际禁毒日(International Day Against Drug Abuse and Illicit Trafficking)\n");
						printf("\t\t 6月第三个星期日父亲节(Father's Day)\n\n");
						break;
					case 7:
						printf("\n\t\t 7月1日  中国共产党诞生日(Anniversary of the Founding of the Chinese Communist Party)\n");
						printf("\t\t 7月1日  国际建筑日(International Architecture Day)\n");
						printf("\t\t 7月7日  中国人民抗日战争纪念日\n");
						printf("\t\t 7月11日 世界人口日(World Population Day)\n\n");
						break;
					case 8:
						printf("\n\t\t 8月1日  中国人民解放军建军节(Army Day)\n");
						printf("\t\t 8月12日 国际青年节(International Youth Day)\n\n");
						break;
					case 9:
						printf("\n\t\t 9月8日  国际扫盲日(International Anti-illiteracy Day)\n");
						printf("\t\t 9月10日 中国教师节(Teacher's Day)\n");
						printf("\t\t 9月16日 中国脑健康日\n");
						printf("\t\t 9月16日 国际臭氧层保护日(International Day for the Preservation of the Ozone Layer)\n");
						printf("\t\t 9月20日 全国爱牙日\n");
						printf("\t\t 9月21日 世界停火日(World Cease-fire Day)\n");
						printf("\t\t 9月27日 世界旅游日(World Tourism Day)\n");
						printf("\t\t 9月第三个星期二国际和平日(International Peace Day)\n");
						printf("\t\t 9月第三个星期六全国国防教育日\n");
						printf("\t\t 9月第四个星期日国际聋人节(International Day of the Deaf)\n\n");
						break;
					case 10:
						printf("\n10月1日  中华人民共和国国庆节(National Day)\n");
						printf("\t\t 10月1日  国际音乐日(International Music Day)\n");
						printf("\t\t 10月1日  国际老年人日(International Day of Older Persons)\n");
						printf("\t\t 10月4日  世界动物日(World Animal Day)\n");
						printf("\t\t 10月5日  世界教师日(World Teachers' Day)（联合国教科文组织确立）\n");
						printf("\t\t 10月8日  全国高血压日\n");
						printf("\t\t 10月9日  世界邮政日(World Post Day)\n");
						printf("\t\t 10月10日 世界精神卫生日(World Mental Health Day)\n");
						printf("\t\t 10月14日 世界标准日(World Standards Day)\n");
						printf("\t\t 10月15日 国际盲人节(International Day of the Blind)\n");
						printf("\t\t 10月15日 世界农村妇女日(World Rural Women's Day)\n");
						printf("\t\t 10月16日 世界粮食日(World Food Day)\n");
						printf("\t\t 10月17日 国际消除贫困日(International Day for the Eradication of Poverty)\n");
						printf("\t\t 10月24日 联合国日(United Nations Day)\n");
						printf("\t\t 10月24日 世界发展新闻日(World Development Information Day)\n");
						printf("\t\t 10月28日 中国男性健康日\n");
						printf("\t\t 10月29日 国际生物多样性日(International Biodiversity Day)\n");
						printf("\t\t 10月31日 万圣节(Halloween)\n");
						printf("\t\t 10月的第一个星期一世界住房日(World Habitat Day)\n");
						printf("\t\t 10月的第二个星斯一加拿大感恩节(Thanksgiving Day)\n");
						printf("\t\t 10月第二个星期三国际减轻自然灾害日(International Day for Natural Disaster Reduction)\n");
						printf("\t\t 10月第二个星期四世界爱眼日(World Sight Day)\n\n");
						break;
					case 11:
						printf("\n\t\t 11月8日  中国记者节\n");
						printf("\t\t 11月9日  消防宣传日\n");
						printf("\t\t 11月14日 世界糖尿病日(World Diabetes Day)\n");
						printf("\t\t 11月17日 国际大学生节\n");
						printf("\t\t 11月25日 国际消除对妇女的暴力日(International Day For the elimination of Violence against Women)\n");
						printf("\t\t 11月最后一个星期四美国感恩节(Thanksgiving Day)\n\n");
						break;
					case 12:
						printf("\n\t\t 12月1日  世界艾滋病日(World AIDS Day)\n");
						printf("\t\t 12月3日  世界残疾人日(World Disabled Day)\n");
						printf("\t\t 12月4日  全国法制宣传日\n");
						printf("\t\t 12月9日  世界足球日(World Football Day)\n");
						printf("\t\t 12月25日 圣诞节(Christmas Day)\n");
						printf("\t\t 12月29日 国际生物多样性日(International Biological Diversity Day)\n\n");
						break;
					}
    }
	//设置主界面颜色
	int main() {
		system("color f0"); // 设置为白底
		int mode = 0; // 查询选择模式
		int year, month, day, dMn, days;
		Lunar lunar;
		Time nowTime, anotherTime;
		HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
		// 设置标题
		printf("\t\t\t    多功能万年历\n\n");
		nowTime = GetCurTime();
		// 彩色显示当前时间
		SetConsoleTextAttribute(hOut, BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE | FOREGROUND_RED | FOREGROUND_INTENSITY);
		SetConsoleTextAttribute(hOut, FOREGROUND_RED | FOREGROUND_INTENSITY);
		printf("\t\t\t   %d-%d-%d %02d:%02d:%02d %s\n\n", nowTime.year, nowTime.month, nowTime.day, nowTime.hour, nowTime.minute, nowTime.second, Xingqi[nowTime.dayOfweek]);
		// 菜单项彩色输出，每行不同色
		WORD colorList[] = {
		FOREGROUND_INTENSITY | FOREGROUND_RED, // 红
		FOREGROUND_INTENSITY | FOREGROUND_GREEN, // 绿
		FOREGROUND_INTENSITY | FOREGROUND_BLUE, // 蓝
		FOREGROUND_INTENSITY | FOREGROUND_GREEN, // 绿
		FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE, // 品红
		FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE, // 青
		FOREGROUND_INTENSITY | FOREGROUND_BLUE, // 青色
		FOREGROUND_INTENSITY | FOREGROUND_RED , // 红
		FOREGROUND_INTENSITY | FOREGROUND_BLUE // 蓝
		};
		const char* menuList[] = {
		"1、查询农历。",
		"2、查询公历。",
		"3、显示月历。",
		"4、计算某天距今天的天数。",
		"5、查询距今天相应天数的日期。",
		"6、计算任意两天之间的天数差。",
		"7、显示二十四节气。",
		"8、显示节日。"
		};
		for (int i = 0; i < 8; ++i) {
			SetConsoleTextAttribute(hOut, colorList[i % (sizeof(colorList) / sizeof(colorList[0]))] | BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);
			printf("\t\t%s\n", menuList[i]);
		}
		// 恢复为黑字白底
		SetConsoleTextAttribute(hOut, BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);
		printf("\n\t\t您的输入：");
		scanf_s("%d", &mode);
		system("cls");
		nowTime = GetCurTime();
		printf("\t\t当前日期时间：%d-%d-%d %02d:%02d:%02d %s\r\n\r\n", nowTime.year, nowTime.month, nowTime.day, nowTime.hour, nowTime.minute, nowTime.second, Xingqi[nowTime.dayOfweek]);
		int index_jieqi = 0;			//节气序号
		int dM0;
		int hang = 0, lie = 0;
		int todayJz, diff;
		switch (mode)
		{
			//功能1

		case 1:
			printf("农历查询：\n\n");
			printf("输入公历日期：");
			scanf_s("%d %d %d", &year, &month, &day);
			dM0 = Jizhun(year, month, 1);	//公历月首天数
			dMn = GetDaysOfMonth(year, month, false, false);
			if (day > dMn) day = dMn;
			ShowCalendar(year, month, day);
			DateRefer(year, month, day, true);
			Time lt, t2, t3;
			double jq1, jq2;
			hang = year - BASE_YEAR;
			for (index_jieqi = (month - 1) * 2; index_jieqi < 24; index_jieqi++) {
				jq1 = Jieqi[hang * 24 + index_jieqi];
				jq2 = Jieqi[hang * 24 + index_jieqi + 1];
				if (qvzheng(jq1 + 0.5) <= (dM0 + 14) && qvzheng(jq2 + 0.5) > (dM0 + 14)) {
					break;
				}
			}
			// 显示当月节气
			lt = GetDate(jq1);
			printf("\n\t当月节气查询\r\n\r\n");
			printf("\t%s：%d-%d-%d \n   ", solarTerms[(index_jieqi) % 24], lt.year,
				lt.month, lt.day);
			lt = GetDate(jq2);
			printf("\t%s：%d-%d-%d \r\n\r\n", solarTerms[(index_jieqi+1) % 24], lt.year,
				lt.month, lt.day);
			break;
			//功能2
		case 2:
			printf("公历查询：\r\n\r\n");
			printf("输入农历日期：");
			scanf_s("%d %d %d", &year, &month, &day);
			lunar.year = year;
			lunar.month = month;
			lunar.day = day;
			lunar.isLeap = false;
			GetGre(lunar);
			printf("\r\n");
			break;
		case 3:
			printf("月历显示：\r\n\r\n");
			printf("输入要查询的公历年月日：");
			scanf_s("%d %d %d", &year, &month, &day);
			ShowCalendar(year, month, day);
			break;
		case 4:
			printf("计算某天距今天的天数：\r\n\r\n");
			printf("请输入日期： ");
			scanf_s("%d %d %d", &year, &month, &day);
			dMn = GetDaysOfMonth(year, month, false, false);
			if (day > dMn) {
				printf("当前月份只有%d天。\n", dMn);
				break;
			}
			dMn = Jizhun(year, month, day);
			lt = GetCurTime();
			todayJz = Jizhun(lt.year, lt.month, lt.day);
			diff = dMn - todayJz;
			printf("%d-%d-%d 比今天（%d-%d-%d）", year, month, day, lt.year, lt.month, lt.day);
			if (diff >= 0) {
				printf(" 晚【%d】天\r\n\n\n\n", diff);
			}
			else {
				printf(" 早【%d】天\r\n\n\n\n", -diff);
			}
			break;
		case 5:
			lt = GetCurTime();
			dMn = Jizhun(lt.year, lt.month, lt.day);
			printf("查询距今天相应天数的日期（请输入距今天（%d-%d-%d）的天数）：", lt.year, lt.month, lt.day);
			scanf_s("%d", &days);
			t2 = GetDate((double)(dMn + days));
			t3 = GetDate((double)(dMn - days));
			printf("距离今天（%d-%d-%d）【 %d 】天的日期为：\n", lt.year, lt.month, lt.day, days);
			printf("%d-%d-%d  %s", t2.year, t2.month, t2.day, Xingqi[(t2.dayOfweek+5)%7]);
			printf("  或者为：");
			printf("%d-%d-%d  %s\r\n\n\n", t3.year, t3.month, t3.day, Xingqi[(t3.dayOfweek+5)%7]);
			break;
		case 6:
			printf("计算任意两天之间的天数差：\r\n\r\n");
			printf("请输入第一个日期：");
			scanf_s("%d %d %d", &year, &month, &day);
			t2.year = year;
			t2.month = month;
			t2.day = day;
			printf("请输入第二个日期：");
			scanf_s("%d %d %d", &year, &month, &day);
			days = Jizhun(t2.year, t2.month, t2.day) - Jizhun(year, month, day);
			printf("\n%d-%d-%d 与 %d-%d-%d 相差 【 %d 】天。\r\n", t2.year, t2.month, t2.day, year, month, day, abs(days));
			break;
		case 7:
			printf("显示二十四节气：\r\n\r\n");
			printf("请输入要查询的年份：");
			scanf_s("%d", &year);
			ShowSolarTerms(year);
			break;
		case 8:
			printf("\t\t\t        显示节日\r\n\r\n");
			printf("\n\t\t1、显示公历节日\t\t2、显示农历节日\n");
			printf("\n\t\t请选择：");
			int choice = 0;
			scanf_s("%d", &choice);
			system("cls");
			int month;
			switch (choice)
			{
			case 1:
				printf("\n\t\t\t\t 公历节日查询\n\n");
				printf("\t\t 请输入要查询的月份:   ");
				scanf_s("%d", &month);
				printf("\n\t\t\t\t%d月份的节日\n", month);
				Holiday(month);
				break;
			case 2:
				printf("\n\t\t\t\t 农历节日查询\n\n");
				printf("\t\t农历正月初一   春节\n");
				printf("\t\t农历正月十五   元宵节\n");
				printf("\t\t农历五月初五   端午节\n");
				printf("\t\t农历七月初七   七夕节\n");
				printf("\t\t农历八月十五   中秋节\n");
				printf("\t\t农历九月初九   重阳节\n");
				printf("\t\t农历腊月初八   腊八节\n");
				printf("\t\t农历腊月三十   除夕\n\n");
				break;
			}
			break;
		}
		printf("请按任意键返回主菜单。");
		system("pause >nul");
		system("cls");
		return 0;
	}
